我只是尝试加载静态js文件,如下所示
function getKey(){
var headID = document.getElementsByTagName("head")[0];
var scriptEmt =document.createElement('script');
scriptEmt.type='text/javascript';
scriptEmt.src="https://preview16.abc.com/Svc/js/test.js";
headID.appendChild(scriptEmt);
calltest();
}
这里当我检查网络捕获时 - test.js已成功加载。我可以在URL https://preview16.abc.com/Svc/js/test.js的Response主体中看到js文件及其内容。我的test.js文件内容如下所示:
function calltest(){
alert("I am in test");
}
但是当我在headID.appendChild(scriptEmt)之后调用getKey()中的calltest()时;声明它说ERROR - SCRIPT5009:'calltest'未定义
这仅在IE10中发生。在IE 9中,calltest()函数被成功调用,其中的警报就会出现。
答案 0 :(得分:0)
尝试
var fileTag = "<script src='https://preview16.arcot.com/Svc/js/test.js' type='text/javascript' ><\/script>";
document.write(fileTag);
也可以尝试
var script = document.createElement('script');
script.onreadystatechange = function() {
if (script.readyState == 'loaded') {
document.body.appendChild(script);
calltest();
}
};
script.src = 'yourscript.js';