检查是否使用Javascript加载了jquery

Sof*_*ant 152 javascript jquery

我正在尝试检查我的Jquery库是否已加载到我的HTML页面上.我正在检查它是否有效,但有些事情是不对的.这是我有的:

<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>
Run Code Online (Sandbox Code Playgroud)

Bol*_*ock 299

有些事情是对的

好吧,你正在使用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");
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @DmainEvent:它们都在根目录中吗?你的`src`有一个前导`/`,这意味着它正在查找根目录. (3认同)
  • 当 `jQuery` 未定义时,这仍然会抛出错误。你需要检查`window.jQuery`。 (2认同)

Tus*_*kla 37

根据这个链接:

if (typeof jQuery == 'undefined') {
    // jQuery IS NOT loaded, do stuff here.
}
Run Code Online (Sandbox Code Playgroud)


还有更多关于链接的评论,如,

if (typeof jQuery == 'function') {...}

//or

if (typeof $== 'function') {...}

// or

if (jQuery) {
    alert("jquery is loaded");
} else {
    alert("Not loaded");
}
Run Code Online (Sandbox Code Playgroud)



if (typeof jQuery == 'undefined') {
    // jQuery IS NOT loaded, do stuff here.
}
Run Code Online (Sandbox Code Playgroud)


希望这能涵盖完成这项工作的所有好方法!

  • @JakeN在一定时间后,除非对帖子进行了编辑,否则无法撤消降票。不过,这篇文章有一个问题:如果没有加载jQuery,`if(jQuery){`将在严格模式下引发错误,因此最后的代码段是一个不好的建议。 (2认同)

Nik*_*iko 21

if ('undefined' == typeof window.jQuery) {
    // jQuery not present
} else {
    // jQuery present
}
Run Code Online (Sandbox Code Playgroud)


Ale*_*ein 11

检查网页时,您可以在控制台选项卡上快速执行此操作.

例如:

$ === jQuery
Run Code Online (Sandbox Code Playgroud)

如果它返回true它意味着它已加载.


小智 9

只是一个可能实际解决问题的小修改:

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

而不是$(document).Ready(function()使用window.onload = function().


Dex*_*ter 8

注意:不要使用 jQuery 来测试你的 jQuery(这不是很明显吗)

\n

使用 jQuery \xe2\x9c\x98

\n
if (\'undefined\' == typeof window.jQuery) {\n    $(\'#selector\').appendTo(\'jQuery is NOT working\');\n} else {\n    $(\'#selector\').appendTo(\'jQuery is working\');\n}\n
Run Code Online (Sandbox Code Playgroud)\n

使用 javaScript \xe2\x9c\x94

\n
if (\'undefined\' == typeof window.jQuery) {\n    document.getElementById(\'selector\').innerHTML = "jQuery is NOT working";\n} else {\n    document.getElementById(\'selector\').innerHTML = "jQuery is working";\n}\n
Run Code Online (Sandbox Code Playgroud)\n