這是在現代瀏覽器上工作,但它不是在IE < = 9.0上加載jQuery。動態jquery加載不工作在舊IE瀏覽器
下面是index.html文件中的代碼:
loadJQuery(function() {
alert('hello');
});
,然後在另一個文件(通過<script src>
包括)我有:
if (typeof(loadJSInclude) == 'undefined') {
function loadJSInclude(scriptPath, callback)
{
var scriptNode = document.createElement('SCRIPT');
scriptNode.type = 'text/javascript';
scriptNode.src = scriptPath;
var headNode = document.getElementsByTagName('HEAD');
if (headNode[0] != null)
headNode[0].appendChild(scriptNode);
if (callback != null)
{
scriptNode.onreadystagechange = callback;
scriptNode.onload = callback;
}
}
function loadJQuery(task) {
if (typeof(jQuery) == "undefined") {
loadJSInclude('http://code.jquery.com/jquery-latest.min.js', function() {
$(document).ready(task)
});
} else {
$(document).ready(task);
}
}
}
爲什麼這是行不通的任何想法IE < = 9.0?我嘗試添加許多警報來loadJQuery函數,並且它們都顯示,我的猜測是我錯誤地將節點添加到舊IE的head元素。
不要在'if'塊使用這種類型的函數聲明的,使用'window.loadJSInclude =函數...'。 – 2013-04-10 15:33:51
怎麼樣?我真的不明白:( – luqita 2013-04-10 15:35:30