加载后编辑js文件

时间:2019-03-28 13:26:48

标签: javascript

我有一个修复程序,需要将其应用于一些我不是所有者的js文件。我想到了在开始执行内容之前将一些javascript内容添加到已加载的javascript(动态加载)文件中。我知道这是一个远景,但是,甚至有可能吗?

2 个答案:

答案 0 :(得分:0)

只需加载外部JavaScript,然后对所需的任何元素进行操作,就像这样:

 window.onload=function(){ModifyElements();};

再往下走...

    function ModifyElements(){

     // How are we going to recognise those elements so as to operate on them?

     // Do you know the ID ?

     Abc.style.width='20px';


     // Do you know their class?

     var N=document.querySelectorAll('.Comets'); 

     for(var i=0; i<N.length; i++){Comets[i].style.color='red';}

     // Some other way???

 }

答案 1 :(得分:0)

因此,我找到了解决方案,而不是使用以下命令加载脚本:<script src="/my/script/path"></script>我使用XMLHttpRequest这样加载它

var client = new XMLHttpRequest();
client.open('GET', widget.link);
client.onreadystatechange = this.applyStencilFix;
client.send();    

然后我应用了修复程序,以文本形式编辑了脚本

applyFix(e: Event): void {
  let request: any = e.target;
  if(request.responseText) {
    let script = document.createElement('script');
    script.text = "myFix" + request.responseText;
    script.title = request.responseURL;
    document.body.appendChild(script);
  }
}

然后,voilà:)