我使用此代碼加載我的JS異步的頭部未捕獲的ReferenceError:jQuery的不僅是定義在Chrome
<script type='text/javascript'>
// Add a script element as a child of the body
function downloadJSAtOnload() {
var element4= document.createElement("script");
var element5= document.createElement("script");
element4.src="http:///ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"
element5.src="http://yourjavascript.com/301810712121/slidemenu_horiz.js"
element4.async=true;
element5.async=true;
document.body.appendChild(element4);
document.body.appendChild(element5);
}
// Check for browser support of event handling capability
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
在IE和Firefox工作正常,但在Chrome我有這樣的錯誤: 「未捕獲ReferenceError:jQuery未定義「
當我第二次(或第三次)刷新頁面時,腳本在Chrome中正常工作,請我需要知道如何解決此問題。
如果你正在使用jQuery(文檔)在你的代碼。就緒時,它不會工作,因爲jQuery是連準備在window.load ,它仍在等待下載。因爲兩者都是異步的,所以如果slidemenu_horiz.js在jquery之前完成下載,你不會知道哪個會先完成下載。它不會工作,因爲jQuery尚未準備好......您可能想要查看labjs或requirejs或steal.js以異步加載ur js。 –
感謝您的回覆,我可以指定誰先完成? – Jose
爲什麼?爲什麼?你爲什麼要這樣加載jQuery?爲什麼不使用''包含像其他所有網站?只是問問。 – Sparky