【问题标题】:Chrome displays JavaScript file in what appears to be ChineseChrome 以中文显示 JavaScript 文件
【发布时间】:2018-06-08 15:50:56
【问题描述】:

问题截图

我的html

<!DOCTYPE html>
  <html>
    <head>
  <title></title>
    </head>
    <body>
  <script src="scripts/vendor/require.js"></script>
    </body>
  </html>

js文件

var d;

这就是全部。该文件曾经是其主站点中的 require.js。但我删除了所有试图弄清楚发生了什么的东西。然后我删除了整个文件并创建了一个新文件(同名)。我可以用 Chrome 改变一些东西来以这种方式解释文件吗?我无法用我的任何其他项目重现该问题。我最初也使用jam 下载了该文件。真的,我可以开始一个新的项目文件夹并可能解决问题,但我很好奇它为什么会这样做。也许一些愚蠢的简单,因为我是新手。

【问题讨论】:

  • 您将文件保存为什么编码?与它一起发送的 HTTP 标头是什么?
  • 我更新了屏幕截图以包含 HTTP 标头。我刚刚用 UTF-8 再次保存它只是为了确保(问题仍然存在)。感谢您的快速回复。
  • 会是字节顺序标记吗? en.wikipedia.org/wiki/Byte_order_mark 这是随机 unicode 错误可能导致的那种事情
  • @SLaks 当我第一次阅读您的评论时,我假设只有 js 文件可能有编码错误,但它是 index.html 文件。如果您提交答案,我会接受您的答案,因为您对问题的看法是正确的。

标签: javascript google-chrome


【解决方案1】:

这是我的 index.html 文件的编码问题(我用 UTF-8 编码重新保存了文件,问题就消失了)。感谢您的帮助。

【讨论】:

  • 感谢您发布您的答案。您帮助我解决了我使用 PSDeploy 在自动构建服务器上对 HTML 文件执行转换时遇到的类似问题:结果是,在我发出最后的 Out-File 语句的地方,我必须包含标志 -Encoding "utf8" 以便使输出在构建服务器上具有正确的编码。
【解决方案2】:

问题是主文件和链接脚本文件必须有相同的编码,否则Chrome浏览器将无法正确加载。

例如,如果 html 文件以 UTF-16 LE 编码,而 javascript 文件以 UTF-8 编码,则 Chrome 会默默地假定 javascript 文件也是 UTF-16 LE 并无法加载它。

您可以在脚本元素中添加一个字符集属性来提示编码,在这种情况下,Chrome 会正确加载它:

<html>
  <head><title>Test</title>  </head>
  <body>
    <script type="text/javascript" charset="UTF-8" src="script.js"></script>
  </body>
</html>

【讨论】:

    【解决方案3】:

    这绝对不是 chrome 问题(查看 content-length: 6 )您是否在保存文件后尝试重新启动服务器?

    【讨论】:

    • 你是对的。我不是说 chrome 有问题。我的意思更多的是:我是否可以更改设置或其他内容以使 chrome 以这种方式解释文件?我会稍微改变一下问题的措辞。
    猜你喜欢
    • 2016-10-10
    • 2011-07-16
    • 2017-06-14
    • 2020-04-17
    • 1970-01-01
    • 2011-10-14
    • 2015-10-29
    • 2017-01-10
    • 1970-01-01
    相关资源
    最近更新 更多