阻止JavaScript使用Tampermonkey不工作?

时间:2016-02-11 03:55:23

标签: javascript tampermonkey

我想在查看网站时禁用一个外部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;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

您在脚本上使用Map方法。来自MDN window.onload

  

加载事件在文档加载过程结束时触发。在   至此,文档中的所有对象都在DOM中,而且都是   图像,脚本,链接和子框架   已完成加载

因此,当调用来自tampermonkey的window.onload回调函数时,由于网站的onload已经加载,所以为时已晚。

我不是篡改专家,但要实现目标似乎是这样做的方法是使用// @run-at指令。该文档解释了该指令定义了脚本注入的时刻。

因此,在您的情况下,从脚本中删除js并尝试添加指令,例如window.onload

document-start

希望它有所帮助,