我在网页中使用jQuery.在Internet Explorer中使用$时,它可以正常工作.在Chrome或Firefox中引用$时,它会失败并显示错误:
Uncaught ReferenceError: $is not defined.
截图:
用我的源代码:
<!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>
注意:浏览器被定向到本地文件系统上的文件:
更新:尝试将其更改为jQuery.
更新:Chrome找到jquery文件(即没有404):
解决方法
这个问题只是为了记录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)假设单独的脚本文件与html文件具有相同的编码.
然后Chrome尝试将jquery-1.7.2.js作为UTF-16读取,并且发现该文件是纯粹的(Windows-1252)垃圾是令人震惊的.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。