这是在现代浏览器上工作,但它不是在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