当出现错误时$(document).ready(function(){ is undefined
,这是因为 jquery 库不在我的页面上,但是发生此错误是因为我的页面上有一个小的 jquery 插件来解决当 jquery 库在特定时间出现时的问题用户的会话。
除了在发生此特定错误时将 jquery 库放在页面上之外,还有什么解决方案可以简单地检查 jquery 是否存在或整个页面上不会发生错误?
当出现错误时$(document).ready(function(){ is undefined
,这是因为 jquery 库不在我的页面上,但是发生此错误是因为我的页面上有一个小的 jquery 插件来解决当 jquery 库在特定时间出现时的问题用户的会话。
除了在发生此特定错误时将 jquery 库放在页面上之外,还有什么解决方案可以简单地检查 jquery 是否存在或整个页面上不会发生错误?
假设您出于某种原因不想普遍使用 jQuery,您可以安全地检查 jQuery 是否未通过以下方式加载:
if(window.jQuery == undefined)
因为访问全局window
对象的未定义属性不会引发错误,而使用未声明的变量名会引发错误。(请注意,这是假设不变的undefined
;var undefined;
如果您无法做出该假设,则可以在此行之前添加。)
或者简单地说:
if(typeof jQuery == 'undefined')
因为typeof
不抱怨未声明的变量名。(具体来说,根据ECMAScript 规范,在返回给定标识符时返回typeof
字符串。)"undefined"
IsUnresolvableReference
true
// Only do anything if jQuery isn't defined
if (typeof jQuery == 'undefined') {
} else { // jQuery was already loaded
// Run your jQuery Code
};
尝试
if (typeof jQuery == 'undefined') {
// jQuery is not loaded
} else {
// jQuery is loaded
}
您还可以检查是否加载了特定的 jQuery 插件。
以下代码将在未注册时注册 jQuery 库。
<script>window.jQuery || document.write('<script src="/Scripts/jquery-1.7.2.min.js"><\/script>')</script>
布尔短路运算符可以帮助:
window.jQuery && (function($) {
$.fn.myPlugin = ...
})(jQuery);
如果 jQuery 存在,它只会创建插件。