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

时间:2015-08-28 16:09:16

标签: 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);

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

我也对此进行了审核:http://tampermonkey.net/documentation.php我找不到任何内容,也许我的评论太快了?

那么,那里有什么建议吗?

1 个答案:

答案 0 :(得分:11)

使用youtube脚本定义的自定义YouTube SPF events

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 =>来源面板=>事件监听器(不是断点)