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