【问题标题】:jQuery doesn't load in firefoxjQuery 无法在 Firefox 中加载
【发布时间】:2017-12-21 00:50:16
【问题描述】:

我有一个包含 jQuery 的简单 HTML 文件。在 Safari 中它可以工作,但在 Firefox 中它不会加载。当我使用 $ 时,我在 Firefox 中收到以下错误消息:

ReferenceError: $ 未定义

<!doctype html>
<html>
<head>

</head>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" type='text/javascript' integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
<script>
    if (window.jQuery) {
        alert("loaded");
    } else {
        alert("not loaded");
    }
</script>
</body>
</html>

【问题讨论】:

  • 尝试加载文件时是否收到任何错误消息?

标签: javascript jquery loaded


【解决方案1】:

完整性属性值很可能与脚本的哈希值不匹配。 如果您遇到任何错误,请检查控制台窗口吗?

我已经找到了根本原因。基于 caniuse 站点,safari 确实实现了此功能,因此您在 safari 上看不到问题。 IE 和 Edge 的情况相同。请看下面:

【讨论】:

    【解决方案2】:

    我尝试过你的代码,它可以工作

    <!doctype html>
    
        <html>
        <head>
    
        </head>
        <body>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js" ></script>
        <script>
    
    
            if (window.jQuery) {
                alert("loaded");
            } else {
                alert("not loaded");
            }
        </script>
        </body>
        </html>
    

    【讨论】:

    • 一般我用的是开发版的firefox;为了测试,我下载了 Chrome 和“正常”的 firefox,除了 Safari,我都得到了“未加载”。
    【解决方案3】:

    我今天遇到了同样的问题,多个功能在 Firefox 和 Safari 上都不起作用,我检查并注意到其中一个在语句之外:

        jQuery(document).ready(function(){
          //your code
        });
    

    我把函数放回了里面,一切正常。因此,请尝试在脚本中包含 (document).ready 函数。 看来 Chrome 在识别和执行 jQuery 方面是“最聪明的”。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-07
      • 1970-01-01
      • 2011-07-23
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      相关资源
      最近更新 更多