在未定义时定义jquery

时间:2013-05-09 13:23:18

标签: jquery

当错误$(document).ready(function(){ is undefined时,这是因为jquery库不在我的情况的页面上,但是这个错误发生,因为我的页面上有一个小的jquery插件来解决jquery时的问题库在用户会话的特定时间内出现。

除了在发生此特定错误时将jquery库放在页面上之外,还有什么方法可以简单地检查是否存在jquery,或者整个页面上是否出现错误?

5 个答案:

答案 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
}

Reference

您还可以查看if particular jQuery plugin is loaded or not.

答案 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存在时才会创建插件。