如果我使用本地jquery.js文件,jQuery代码不起作用,为什么?
让我们说这是我的页面例如..
$(document).ready(function(){ });
如您所见,我正在使用本地jQuery文件( jquery.js
),因此每次我编写jQuery代码时都无法知道我的页面和jquery.js
在同一级别。
但是,当我在线使用jQuery文件时,例如这样
一切正常……
我也尝试将放在
但没有任何效果
Ps我下载了我在线使用并在本地使用的相同文件。
这是一个编码问题。 你的page.html
文件是UTF-16(尽管它包含一个错误的meta
标记,表示它使用的是UTF-8),但是jquery.js
文件不是(它是ASCII,Windows-1252 / ISO-8859- 1,或UTF-8 – 并不重要,它坚持所有人都有共同的人物。
我建议更正page.html
的编码(使其实际上是UTF-8)。 这可能会清除它。 但如果没有,或者如果你真的想要UTF-16(例如,你主要在非西方脚本中做一个页面),你可以使用script
元素上的charset
属性来告诉浏览器在获取脚本时会发生什么。
以下是我到达那里的方法:当我访问您发布的链接时 ,我在控制台(Chrome和Firebug中)的jquery.js
中出现“非法令牌”错误,并且显示的jquery.js
文件内容出现乱码,主要显示在东亚字符集。 如果我直接请求资源,我没有这个问题。 这立即让我想到“编码问题”,然后去看page.html
。 快速浏览一下,发现它是UTF-16。 仔细检查了jquery.js
文件是否也不是UTF-16(虽然我可能永远不会编码JavaScript,但这会非常浪费)并且发现它是与ASCII兼容的编码(例如,而不是UTF-16)。
如果你不是100%肯定你明白我所说的是关于page.html
是UTF-16但jquery.js
是UTF-8还是类似的,我建议你绝对正确地阅读绝对最低每个软件开发人员必须知道关于Unicode和字符集(没有借口! )的Joel Spolsky以及unicode.org上的各种常见问题,特别是主要的和讨论各种UTF和BOM的问题 。
浏览器不应该关心文件是否是本地的[ 网络服务器本地,大概是……?]。
您在本地拥有的文件副本有问题。 确保路径正确并使用Firebug查看其加载的情况。
编辑对于您的demo_local
,我的Firebug安装会在jquery.js文件中抱怨外来字符。 当我查看“脚本”选项卡时,它似乎是Unicode,但是作为ASCII提供。
SAM
你在jquery中有一些奇怪的代码。
看起来像jquery.js本地是错误的
请从这里下载
http://code.jquery.com/jquery-1.6.min.js
你可以试试以下吗?
标准的doc类型
并将脚本更改为
我可以看到您使用Dropbox来托管文件,这自动意味着您无法对文件进行本地引用。 尝试包含完整的Dropbox链接,看看它是否有效