有谁知道如何检查 jquery 是否已加载(使用 javascript),然后在尚未加载的情况下加载它。
就像是
if(!jQuery) {
//load jquery file
}
有谁知道如何检查 jquery 是否已加载(使用 javascript),然后在尚未加载的情况下加载它。
就像是
if(!jQuery) {
//load jquery file
}
也许是这样的:
<script>
if(!window.jQuery)
{
var script = document.createElement('script');
script.type = "text/javascript";
script.src = "path/to/jQuery";
document.getElementsByTagName('head')[0].appendChild(script);
}
</script>
避免使用“if (!jQuery)”,因为 IE 将返回错误:jQuery is 'undefined'
而是使用: if (typeof jQuery == 'undefined')
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
var script = document.createElement('script');
script.type = "text/javascript";
script.src = "http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(script);
}
</script>
您还需要在将 JQuery 附加到标头后检查它是否已加载。否则你将不得不等待 window.onload 事件,如果页面有图像,它会更慢。这是一个示例脚本,用于检查 JQuery 文件是否已加载,因为您无法方便地使用 $(document).ready(function...
http://neighborhood.org/core/sample/jquery/append-to-head.htm
方法一:
if (window.jQuery) {
// jQuery is loaded
} else {
// jQuery is not loaded
}
方法二:
if (typeof jQuery == 'undefined') {
// jQuery is not loaded
} else {
// jQuery is loaded
}
如果未加载 jquery.js 文件,我们可以像这样强制加载它:
if (!window.jQuery) {
var jq = document.createElement('script'); jq.type = 'text/javascript';
// Path to jquery.js file, eg. Google hosted version
jq.src = '/path-to-your/jquery.min.js';
document.getElementsByTagName('head')[0].appendChild(jq);
}
试试这个 :
<script>
window.jQuery || document.write('<script src="js/jquery.min.js"><\/script>')
</script>
这将检查 jQuery 是否可用,如果不可用,它将从指定的路径动态添加一个。
或者
include_once 等效于 js。参考:https : //raw.github.com/kvz/phpjs/master/functions/language/include_once.js
function include_once (filename) {
// http://kevin.vanzonneveld.net
// + original by: Legaev Andrey
// + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: Michael White (http://getsprink.com)
// + input by: Brett Zamir (http://brett-zamir.me)
// + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + bugfixed by: Brett Zamir (http://brett-zamir.me)
// - depends on: include
// % note 1: Uses global: php_js to keep track of included files (though private static variable in namespaced version)
// * example 1: include_once('http://www.phpjs.org/js/phpjs/_supporters/pj_test_supportfile_2.js');
// * returns 1: true
var cur_file = {};
cur_file[this.window.location.href] = 1;
// BEGIN STATIC
try { // We can't try to access on window, since it might not exist in some environments, and if we use "this.window"
// we risk adding another copy if different window objects are associated with the namespaced object
php_js_shared; // Will be private static variable in namespaced version or global in non-namespaced
// version since we wish to share this across all instances
} catch (e) {
php_js_shared = {};
}
// END STATIC
if (!php_js_shared.includes) {
php_js_shared.includes = cur_file;
}
if (!php_js_shared.includes[filename]) {
if (this.include(filename)) {
return true;
}
} else {
return true;
}
return false;
}
即使您可能附加了一个头部,它也可能不适用于所有浏览器。这是我发现始终如一地工作的唯一方法。
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
document.write('<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"><\/script>');
}
</script>