让我们说这个页面例如..
<!doctype html>
<html>
<head>
</head>
<body>
<script src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
});
</script>
<div id="div1"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
如你所见,我正在使用一个本地jQuery文件(jquery.js
),所以每次我编写jQuery代码时,它都无法知道我的页面和jquery.js
同一级别.
但是,当我在线使用jQuery文件时,例如这样
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
一切正常......
此外,我试图把<script></script>
在<head>
但没有任何工程
Ps我下载了我在线使用并在本地使用的相同文件.
T.J*_*der 10
这是一个编码问题.你的page.html
文件是UTF-16(虽然它包含一个错误的meta
标签,说它使用的是UTF-8),但jquery.js
文件不是(它是ASCII,Windows-1252/ISO-8859-1或UTF-8 -并不重要,它坚持所有人都有共同的人物.
我建议纠正编码page.html
(使其实际上是UTF-8).这可能会清除它.但如果没有,或者如果你真的想要UTF-16(例如,你主要在非西方脚本中做一个页面),你可以使用元素上的charset
属性script
来告诉浏览器在获取脚本时会发生什么.
以下是我到达那里的方式:当我访问您发布的链接时,我jquery.js
在控制台(Chrome和Firebug中)出现"非法令牌"错误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 设置(No Excuses!)以及unicode.org上的各种常见问题解答,特别是主要的和讨论各种UTF和BOM的问题.
归档时间: |
|
查看次数: |
21890 次 |
最近记录: |