2011-09-08 85 views
83

我试图检查我的Jquery库是否加载到我的HTML页面上。我正在检查它是否有效,但有些不对。以下是我有:检查是否使用Javascript加载jquery

<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <script type="text/javascript" src="/query-1.6.3.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function(){ 
      if (jQuery) { 
       // jQuery is loaded 
       alert("Yeah!"); 
      } else { 
       // jQuery is not loaded 
       alert("Doesn't Work"); 
      } 
      }); 
     </script> 
+3

不要在“$(document).Ready”中使用大写字母R' – Serigan

+3

'alert(window。$?1:0)' – Thielicious

回答

165

东西是不正确

那么,你是使用jQuery检查jQuery的存在。如果没有加载jQuery,那么$()甚至不会运行,并且您的回调将不会执行,除非您使用另一个库并且该库碰巧共享相同的$()语法。

删除您$(document).ready()(使用类似window.onload代替):

window.onload = function() { 
    if (window.jQuery) { 
     // jQuery is loaded 
     alert("Yeah!"); 
    } else { 
     // jQuery is not loaded 
     alert("Doesn't Work"); 
    } 
} 
+1

这样仍然会抛出错误,就像'jQuery'未定义时一样。你需要检查'window.jQuery'。 – gilly3

+0

@ gilly3:是的,讨厌的范围界定问题。固定。 – BoltClock

+0

我在与html文件相同的目录中有jquery-1.6.3.min.js文件。不知道为什么不加载。 – SoftwareSavant

16
if ('undefined' == typeof window.jQuery) { 
    // jQuery not present 
} else { 
    // jQuery present 
} 
8

只是一个小的修改,可能真正解决这个问题:

window.onload = function() { 
    if (window.jQuery) { 
     // jQuery is loaded 
     alert("Yeah!"); 
    } else { 
    location.reload(); 
    } 
} 

代替$(document).Ready(function()使用window.onload = function()

16

this链接:

if (typeof jQuery == 'undefined') { 

    // jQuery IS NOT loaded, do stuff here. 

} 


有几个在链接的评论,以及像,

if (typeof jQuery == 'function') 
//or 
if (typeof $== 'function') 



if (jQuery) { 
    alert("jquery is loaded"); 
} else { 
    alert("Not loaded"); 
} 


希望这涵盖了所有好方法来完成这件事!

+2

当投诉的原因被提及时,下调投票答案更有帮助 –

+0

虽然我没有找到有用的答案,但我投下了意外的投票,真的很抱歉,没有办法改变它现在,我会通读你的其他答案,并投票其中之一,以弥补 –

+0

@NicolaiKant我没有意识到这是一件事 – Erutan409

-1

一个快速的方法是在开发人员控制台中运行jQuery命令。在任何浏览器中点击F12并尝试访问任何元素。

$("#sideTab2").css("background-color", "yellow"); 

enter image description here

-1

您可以只需键入控制台 window.jQuery。如果它返回一个函数(e,n)...然后确认jquery已经加载并且工作成功。

相关问题