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

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

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

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
20 апр. 2024, в 09:15
8000 руб./за проект
20 апр. 2024, в 08:39
100000 руб./за проект
20 апр. 2024, в 08:24
1500 руб./за проект