Вызовите Tampermonkey script при изменении местоположения страницы

Ну, я хочу знать, можно ли вспомнить Tampermonkey script, когда пользователь меняет свое местоположение (но матч по-прежнему активен). Например, мои скрипты перехватывают веб-сайт youtube.

Мне нужно сделать, чтобы script отзывался сам, когда меняю видео, мой фактический script:

// ==UserScript==
// @name        xxx
// @namespace    xxx
// @version      1.0
// @description  xxx
// @author       Ikillnukes
// @match        https://www.youtube.com/*
// @match        https://youtu.be/*
// @grant        none
// ==/UserScript==

console.log("Tampermonkey hook!");
var script = document.createElement('script');
script.src = document.location.protocol+"//xxx";
(document.body || document.head || document.documentElement).appendChild(script);

Как вы можете видеть, я вызываю console.log для его отладки, и он вызывается при обновлении или загрузке веб-страницы в первый раз. Но один раз я меняю видео, которое больше не вызывает, и этого я хочу избежать.

Я также рассмотрел это: http://tampermonkey.net/documentation.php, и я ничего не нашел, может быть, я слишком быстро просмотрел его?

Итак, какие-нибудь предложения там?

Ответ 1

Использовать пользовательские события YouTube SPF, определенные программой youtube script:

window.addEventListener("spfrequest", function(e) { console.log("requesting new page") });
window.addEventListener("spfprocess", function(e) { console.log("new page is processed") });
window.addEventListener("spfdone", function(e) { console.log("new page is displayed") });

Совет пользователям Chrome найти такие события:
Использование DevTools = > Панель элементов = > Панель прослушивателей событий

В новых версиях Chrome:
Используйте DevTools = > Панель источников = > Слушатели событий (а не точки останова)