【问题标题】:character encoding of a framed document was not declared未声明带框文档的字符编码
【发布时间】:2012-11-09 14:36:17
【问题描述】:

在开发我的网站时,我在 FF 中收到此警告。我找不到任何关于它的真实信息以及如何解决这个问题。

the character encoding of a framed document was not declared. The document may appear different if viewed without the document framing it.


...e)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f....

jquery....min.js(第 4 行)

【问题讨论】:

  • 你做了什么得到错误信息?
  • @JukkaK.Korpela -> nicesprites.se 如果您看简介,您会在一段时间后看到错误消息,请尝试点击右上角的简介按钮以多次观看.
  • 我没有看到任何错误信息。在 Firefox 错误控制台中,有大量警告(关于不同的事情,不是这个)并且没有错误消息。但是 HTML 中存在一些标记错误;您可以从修复它们开始,请参阅validator.w3.org/…(不过,我猜没什么严重的;“尚未看到明确的字符编码声明(假定为 utf-8),但文档包含非 ASCII。”可以通过移动meta charset 之前的元素 title.)
  • 奇怪,也许是我的浏览器出现了问题!不过谢谢!
  • “我收到此错误”错误 - 这只是一个警告,并不是真正的重大问题。

标签: firefox character-encoding document declare


【解决方案1】:

你需要放

<meta http-equiv="Content-type" content="text/html;charset=UTF-8">

在 iframe 的头部或您正在使用的任何字符集编码中。

【讨论】:

  • 你的意思是
  • 我之前有 <meta charset="utf-8"> 这个元标记。为什么这行不通?但是您上面提到的旧模式有效。
【解决方案2】:

在您的情况下,您似乎正在提供一个 javascript 文件。为了设置字符编码,您必须在提供 javascript 文件时将其设置在 Content-Type HTTP 标头中。

例如:

Content-Type: application/javascript; charset=utf-8

但是,如果您使用 <iframe> 元素来引用 javascript,那么您做错了。

您应该只使用<iframe> 来显示某些内容,例如 HTML、文本、SVG、PDF 等。

对于 HTML 文档,您可以在 .html 文件中使用 charset 属性在 the <meta> taga <script> tag 上设置字符编码。请注意,后者已被弃用,所有现代浏览器都将读取引用脚本的文档的 <meta> 标签。

示例

iframed.html

<head>
  <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
  <script src="jquery....min.js" charset="utf-8"></script>
  <!-- note: setting charset on a <script> tag is deprecated -->
</head>

index.html

<body>
  <iframe src="iframed.html">
</body>

如果您有权访问您的网络服务器,那么您可以使用Content-Type 将字符编码设置为响应的一部分,您无需在文档中指定它。

  • HTML:Content-Type: text/html; charset=utf-8
  • JS:Content-Type: application/javascript; charset=utf-8
  • JSON:Content-Type: application/json; charset=utf-8
  • 文字:Content-Type: text/plain; charset=utf-8

nodejs 中,您对Response 对象使用setHeader 方法。

response.setHeader ('Content-Type', 'text/html; charset=utf-8')

开发工具

您可以使用浏览器的 DevTools 来检查网络请求并检查 Content-Type 标头的值。请参阅下面的屏幕截图。

【讨论】:

    猜你喜欢
    • 2015-12-05
    • 2014-09-12
    • 2012-07-22
    • 1970-01-01
    • 2014-08-27
    相关资源
    最近更新 更多