Tomut0
@Tomut0
Простой студент, изучающий глубоководье IT.

Как добавить кнопку, используя userscript, при смене URL?

Здравствуйте!
Нужно добавлять кнопку при изменении URL, сам придумал только такой код:
тык
let currentURL = window.location.href;

setInterval(function() {
  if(currentURL !== window.location.href) {
    if (window.location.pathname.split("/")[1] !== "" && window.location.pathname.split("/")[1] === "animes" && document.readyState === "complete") addButton();
  currentURL = window.location.href;
}, 1000);

function addButton() {
  if (document.querySelector('.slPlayFreePlayButton')) return;
    
  const id = window.location.pathname.split("/")[2].split('-')[0],
         a = document.createElement("a");
    
  a.classList.add('slPlayFreePlayButton');
  a.href = "https://example" + id + "/1";
  a.innerText = "Смотреть онлайн на Shikimøri Live";
  a.style.cssText = "padding: 1em; background-color: black; color: white; border-radius: 0.5em; display: block; margin: 0.5em 0";
  document.querySelector(".c-info-right").appendChild(a);
  }



Вся проблема в том, что по каким-то мне не виданным причинам бывает так, что кнопка то исчезает, то вдруг появляется две кнопки, а затем они исчезают. Был бы очень рад внятному объяснению.

И ещё вопрос: может ли userscript подгрузиться сам на динамическое веб-приложение на конкретные URL, без перезагрузки страницы, например, посредством директив?
  • Вопрос задан
  • 155 просмотров
Решения вопроса 1
XanXanXan
@XanXanXan
Есть событие popstate, чтобы отслеживать изменение URL.

Для отслеживания изменения динамического контента есть MutationObserver.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы