我创建了一个脚本,通过将其附加到文档头来添加javascript文件。
以下是代码:
var Dim = (function(s){
var storage;
function loadError (oError) {
throw new URIError("The script " + oError.target.src + " is not accessible.");
}
return {
require : function(script,callback){
var oScript = document.createElement("script");
oScript.type = "text\/javascript";
oScript.onerror = loadError;
if (callback) {
oScript.onload = callback;
}
document.head.appendChild(oScript);
oScript.src = script;
}
};
})();
让我们说我们这样使用:
Dim.require("script.js", function(){alert(token)}); alert(token);
script.js代码是:
alert(" Ok"); var token = " Hello";
问题是脚本已加载,但我无法使用其内容。
有人能指出我的问题吗?
答案 0 :(得分:0)
Dim.require("script.js", function(){alert(token)}); alert(token);
它首先运行警报,因为它在回调中,当浏览器加载脚本时调用它。
if (callback) {
oScript.onload = callback;
}
第二个没有给你提醒,因为它给你一个错误
未捕获的ReferenceError:未定义标记
您正在异步加载script.js
并在执行第二次提醒时,script.js
尚未加载。