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