Javascript 脚本标记的动态创建及其src加载在ie10中不起作用
我只是尝试加载静态js文件,如下所示Javascript 脚本标记的动态创建及其src加载在ie10中不起作用,javascript,internet-explorer-10,Javascript,Internet Explorer 10,我只是尝试加载静态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.appen
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的响应体中看到js文件及其内容。我的test.js文件内容如下所示:
function calltest(){
alert("I am in test");
}
但是当我在headID.appendChild(scriptEmt)之后调用getKey()中的calltest()时;语句中显示错误-SCRIPT5009:“calltest”未定义
这只发生在IE10中。在IE9中。调用calltest()函数成功,其中的警报出现。请重试
var fileTag = "<script src='https://preview16.arcot.com/Svc/js/test.js' type='text/javascript' ><\/script>";
document.write(fileTag);
我在执行此var fileTag=“”)时仍然看到相同的错误;document.write(fileTag);calltest();正如我前面提到的,当我在这里签入网络捕获时,test.js已成功加载。我可以在URL的响应体中看到js文件及其内容。但是当我调用calltest()时;这在test.js中。我得到错误脚本5009:“calltest”未定义我的实际需求如下:这里我调用一个servlet。当document.getElementById('testURL').value+'?opn=getKey&rand='+Math.random()时,servlet会发生Get调用;完成了。这将返回键和对callback()函数的调用。在IE9中,这很好用。但是在ie 10中,在这个调用之后需要一些暂停。所以我不得不把下面的警告。你能帮我知道为什么这个问题出现在IE10中吗?如何解决这个问题?提醒不是一种正确的方法。提前谢谢!函数getKey(){var headID=document.getElementsByTagName(“head”)[0];var scriptEmt=document.createElement('script');scriptEmt.type='text/javascript';scriptEmt.src=document.getElementById('testURL')。value+'opn=getKey&rand='+Math.random();if(navigator.appVersion.indexOf(“MSIE 10.0”)!=-1){alert(“alert1”);alert”(“alert2…);}headID.appendChild(scriptEmt);}函数回调(){……}
var script = document.createElement('script');
script.onreadystatechange = function() {
if (script.readyState == 'loaded') {
document.body.appendChild(script);
calltest();
}
};
script.src = 'yourscript.js';