Greasemonkey-替换javascript src以加载自定义JS,而不是页面的JS

Greasemonkey-替换javascript src以加载自定义JS,而不是页面的JS,javascript,greasemonkey,Javascript,Greasemonkey,在.js文件中有带变量的特定网页。我想重写要加载Greasemonkey的URL,但仍然没有任何结果。我使用的代码是: window.addEventListener( 'load', function() { allTextareas = document.getElementsByTagName('script'); for (thisTextarea in allTextareas) { if( allTextar

在.js文件中有带变量的特定网页。我想重写要加载Greasemonkey的URL,但仍然没有任何结果。我使用的代码是:

window.addEventListener(
    'load', 
    function() { 
        allTextareas = document.getElementsByTagName('script');
        for (thisTextarea in allTextareas) {
            if( allTextareas[thisTextarea].getAttribute('src') == 'some url.js' ){
                 //allTextareas[thisTextarea].setAttribute('src', 'http://my custom url.js');   


            }
        }

     },
    true);

但它不起作用。你能帮我吗,或者告诉我一种在特定页面上编辑JS文件的方法

几件事,先简单一点

(1)通用汽车公司就是这样因此而不是:

for (thisTextarea in allTextareas) {
    if (allTextareas[thisTextarea].getAttribute('src') == 'some url.js') {
for (var J = allTextareas.length - 1;  J>=0;  --J) {
    if (allTextareas[J].getAttribute('src') == 'some url.js') {
    etc.

您必须使用:

for (thisTextarea in allTextareas) {
    if (allTextareas[thisTextarea].getAttribute('src') == 'some url.js') {
for (var J = allTextareas.length - 1;  J>=0;  --J) {
    if (allTextareas[J].getAttribute('src') == 'some url.js') {
    etc.

(2)当Greasemonkey启动时,这些脚本已经加载。重写脚本标记源可能不会执行任何操作,但会导致不稳定的操作

完全阻止这些脚本加载,然后使用GM重写它们的
src
——或者更好的方法是,用所需的JS创建新的
标记

要阻止这些脚本,您需要一个新的附加组件。这里有四个可以做这项工作。。。最好,但最具侵入性,首先:

  • 所有这些附加组件都有减少您对坏脚本/站点/闪存的漏洞以及加快页面加载的好处