我需要使用常规javascript来检测JQuery是否存在,如果没有,请从谷歌或其他网站加载JQuery文件
更新两个工作解决方案(只需在此复制和粘贴工作代码):
来自Claudio Redi
window.jQuery || document.write("<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'>\x3C/script>")
来自Rob Darwin
var jQueryScriptOutputted = false;
function initJQuery() {
if (typeof(jQuery) == 'undefined') {
if (! jQueryScriptOutputted) {
jQueryScriptOutputted = true;
document.write("<scr" + "ipt type=\"text/javascript\" src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js\"></scr" + "ipt>");
}
setTimeout("initJQuery()", 50);
}
}
initJQuery();
答案 0 :(得分:15)
有很多方法,我最喜欢这种方式只是因为不那么详细
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js"></script>
<script>window.jQuery ||
document.write("<script src='js/jquery-1.7.2.min.js'>\x3C/script>")
</script>
答案 1 :(得分:10)
在不使用document.write
的情况下加载jQuery的 nice 方法是:
if (window.jQuery === undefined) {
var s = document.createElement('script');
s.src = "//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js";
document.head.appendChild(s);
}
这会导致异步加载 - 所以你可能想要包含一个.onload
处理程序,以允许执行等到加载完成。
答案 2 :(得分:2)
像this这样的东西应该有用。
编辑:从上面链接添加的代码。
var jQueryScriptOutputted = false;
function initJQuery() {
//if the jQuery object isn't available
if (typeof(jQuery) == 'undefined') {
if (! jQueryScriptOutputted) {
//only output the script once..
jQueryScriptOutputted = true;
//output the script (load it from google api)
document.write("<scr" + "ipt type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js\"></scr" + "ipt>");
}
setTimeout("initJQuery()", 50);
} else {
$(function() {
//do anything that needs to be done on document.ready
});
}
}
initJQuery();