0

我只是尝试加载静态 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的响应正文中看到 js 文件及其内容。我的 test.js 文件内容如下所示:

function calltest(){
alert("I am in test");
}

但是当我在 headID.appendChild(scriptEmt); 之后在 getKey() 中调用 calltest() 时 声明它说 ERROR - SCRIPT5009: 'calltest' is undefined

这仅在 IE10 中发生。在 IE 9 中,calltest() 函数被成功调用并发出警报。

4

1 回答 1

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';
于 2013-09-26T09:07:59.243 回答