0

在我使用过的几台服务器上,我的许多(但不是全部)外部加载的资源出错并抛出(在 Chrome 中)“Uncaught SyntaxError: Unexpected token ILLEGAL”。

包括来自 googleapis CDN 的 jQuery 工作正常,但加载 fonts.com JavaScript 字体文件和加载基本的 Google Analytics 代码都出错了。

这是代码(如果有帮助,这里是一个小提琴):

<html>
    <head>
        <title>fonttest</title>
        <script type="text/javascript" src="http://fast.fonts.com/jsapi/dd7c6b7d-1ecb-4ef4-bf65-c4759f97cbe3.js"></script>
        <script type="text/javascript" src="http://www.google-analytics.com/ga.js"></script>
    </head>
    <body>
        <h2>This is a test of the emergency broadcast system.  This is only a test.  If this had been an actual emergency, the tones you just heard would have been followed by official news or instructions.</h2>
    </body>
</html>

这些文件的标头以text/javascript.

最后,当我在 Web Inspector 的“资源”选项卡中查看资源时,我看到了一些非罗马字符,而不是这些文件的实际代码,这让我认为一定存在某种编码问题。我尝试将字符集设置为文档头utf-8iso-8859-1文档头(使用meta charset),但都没有帮助。

chrome错误截图

4

1 回答 1

0

好吧,我想我已经解决了这个问题:我的主 HTML 页面(不是包含的脚本)在某些时候被编码为 UTF-16。我将其编码(不是使用meta charset,而是使用我的代码编辑器编辑文档本身的编码)改回默认值Western (ISO Latin 1),我认为它与 iso-8859-1 相同。

我最好的猜测是,在某个时候,我将一些具有 UTF-16 编码的文件粘贴到该文件中,我的编辑器将文档的编码转换为 UTF-16,然后该站点假定它正在导入的外部资源也是 UTF-16,这导致它误解了他们。

如果有人遇到同样的问题,我会留下这个问题并回答。

于 2012-06-13T23:25:43.397 回答