我想在查看网站时禁用一个外部javascript文件加载。我正在使用" Tampermonkey"使用谷歌浏览器。
这是我尝试的内容:
window.onload = function() {
var d = document;
var scripts = d.getElementsByTagName('script'); //ARRAY
window.alert('script tags found:' + scripts.length);
for (var i = 0; i < scripts.length; i++) {
var s = scripts[i].src; //String of src tag.
if (s.indexOf('templates/base/assets/js/jquery.countdown.min.js') != -1) {
window.alert("found: " + scripts[i].src);
scripts[i].setAttribute('src', '');
window.alert("src=" + scripts[i].src);
}
}
}
&#13;
答案 0 :(得分:0)
您在脚本上使用Map
方法。来自MDN window.onload
:
加载事件在文档加载过程结束时触发。在 至此,文档中的所有对象都在DOM中,而且都是 图像,脚本,链接和子框架 已完成加载
因此,当调用来自tampermonkey的window.onload
回调函数时,由于网站的onload
已经加载,所以为时已晚。
我不是篡改专家,但要实现目标似乎是这样做的方法是使用// @run-at
指令。该文档解释了该指令定义了脚本注入的时刻。
因此,在您的情况下,从脚本中删除js
并尝试添加指令,例如window.onload
:
document-start
希望它有所帮助,