页面位置更改时调用Tampermonkey脚本

z3n*_*10n 4 javascript onload tampermonkey

好吧,我想知道,如果可能,当用户改变他的位置(但比赛仍然是活动的),以调出Tampermonkey脚本.例如,我的脚本挂钩youtube网站.

当我更改视频时,我需要让脚本回想起来,我的实际脚本是:

// ==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);
Run Code Online (Sandbox Code Playgroud)

如你所见,我调用console.log进行调试,当我刷新或第一次加载网页时调用它.但有一次我改变了视频,它不再被调用,这就是我想要避免的.

我也回顾了这个:http://tampermonkey.net/documentation.php我没找到任何东西,也许我评论得太快了?

那么,有什么建议吗?

wOx*_*xOm 12

使用youtube脚本定义的自定义YouTube SPF事件:

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") });
Run Code Online (Sandbox Code Playgroud)

Chrome用户可以找到此类事件的提示:
使用DevTools => Elements面板=>事件监听器窗格

在较新版本的Chrome上:
使用DevTools => Sources面板=>事件监听器(不是断点)