zhenyavka
@zhenyavka
Простой школьник, изучающий глубоководье 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, без перезагрузки страницы, например, посредством директив?
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
XanXanXan
@XanXanXan
Есть событие popstate, чтобы отслеживать изменение URL.

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

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

Войти через центр авторизации
Похожие вопросы