0
我添加脚本和样式在head
标签,如果它们不存在这样的:更改document.readyState属性
$(function(){
var script = CL.addScriptIfMissing('someurl');
console.log(objectFromScript);
});
addScriptIfMissing
工作正常。 然后我从加载的脚本中调用objectFromScript并且它是未定义的,因为在文档加载时它不存在并且需要时间加载。我有一个解决办法:
$(function(){
var script = CL.addScriptIfMissing('someurl');
script.addEventListener('load', function(){
console.log(objectFromScript);
});
});
但我需要其他的解决办法:我想改变document.readyState回到interactive
。以便$(document).ready
将在脚本加载时停止并被第二次调用
'$(document).ready()'从来没有打算等待脚本加载,那么为什么你现在要这么做呢? – Bergi
@Bergi你是什么意思?直到我知道 – karaxuna
编号[RTFM!](http://api.jquery.com/ready/):“*处理程序传递给$(document).ready()才会被触发。 ready()保证在DOM层次结构完全构建后立即执行*“。没有关于加载资产的信息,这就是'$(window).on('load')'所做的。 – Bergi