jquery - Chrome : Uncaught ReferenceError: $ is not defined

标签 jquery firefox google-chrome

我在网页中使用 jQuery。在 Internet Explorer 中使用 $ 时效果很好。在 Chrome 或 Firefox 中引用 $ 时,会失败并出现错误:

Uncaught ReferenceError: $ is not defined.

屏幕截图:

enter image description here

使用我的源代码:

<!DOCTYPE html>
<html>
<head>
   <script type="text/javascript" src="jquery-1.7.2.min.js"></script>
   <script type="text/javascript">
      function divClick(sender, event)
      {
//       var chk = $(sender).find("input").first()[0];
         var chk = jQuery(sender).find("input").first()[0];
         alert("Works in ie");
      }
   </script>
</head>
<body>

<div onclick="divClick(this, event)">
    <input type="checkbox">
</div>

</body>
</html>

注意:浏览器将被定向到本地文件系统上的文件:

enter image description here

更新:尝试将其更改为jQuery

更新:Chrome 找到 jquery 文件(即没有 404):

enter image description here

最佳答案

这个问题只是为了记录 Chrome 和 Firefox 中的错误:

Html File encoding           IE9      Chrome
=========================    =======  ======
Windows-1252                 Works    Works
UTF-8 (without BOM)          Works    Works 
UTF-8 (with BOM EFBB)        Works    Works 
UTF-16 (with LE BOM FFFE)    Works    Fails
UTF-16 (with BE BOM FEFF)    Works    Fails

大概 Chrome(和 Firefox)假定单独的 script 文件与 html 文件具有相同的编码。

然后,Chrome 尝试将 jquery-1.7.2.js 读取为 UTF-16,并惊讶地发现该文件是纯 (Windows-1252) 垃圾。

关于jquery - Chrome : Uncaught ReferenceError: $ is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10658823/

相关文章:

javascript - 取id值

jquery - 元素加载后应用类

javascript - 使用 jquery 移动 div

javascript - Firefox 不在 iframe 中加载本地文件

google-chrome - Meteor 应用程序无法在 chrome 移动设备上运行,但可以在其他任何地方运行

javascript - 如何停止在当前窗口下打开帐户选择器窗口

javascript - 禁用按钮的安全方法是什么?

javascript - 关闭 FireFox 中的身份验证提示

javascript - 在 FireFox 中修改 WebRTC 的 SDP 约束

javascript - Chrome 开发工具,将 "Step Over Next Function Call"保留在单个文件上