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