Javascript 文件中不应包含 HTML。它们应完全由 Javascript 代码组成,so my_script.js
应仅包含:
nImages = 6;
这仍然不起作用,因为当您将新的脚本标签写入文档时,它不会立即运行。保证在开run.js
始之前完成运行my_script.js
,所以nImages
当你警告它时是未定义的,然后变成6。你会看到这行得通:
document.write("<script type='text/javascript' src='my_script.js'></script>");
function call_on_load(){
alert(nImages);
}
如果内容my_script.js
是:
nImages = 6;
call_on_load();
编辑
既然您在评论中说您不能编辑my_script.js
,您可以这样做,尽管它不是一个很好的解决方案:
// Force nImages to be undefined
var undefined;
window.nImages = undefined;
document.write("<script type='text/javascript' src='my_script.js'></script>");
(function is_loaded(cb){
if(typeof window.nImages == 'undefined')
setTimeout(function(){ is_loaded(cb); }, 100);
else
cb();
})(function(){
// This is executed after the script has loaded
alert(nImages);
});
然而,这不是一个好的解决方案,因为如果加载脚本出错,它将无限期地继续轮询。
编辑
您在评论中发布了要包含的文件,该文件<SCRIPT
位于顶部。这个文件没用,你不能在客户端做任何事情。您必须编写一个服务器端脚本来将文件作为文本加载,在这种情况下,您可以将其解析为您想要的值。