iFrame 和编码

发布于 2024-10-04 02:24:10 字数 749 浏览 1 评论 0原文

我正在设计一个网站,该网站将依赖 iFrame 来显示第三方内容。鉴于此,我有两个问题。

  1. 该第三方内容可能采用不同的编码。
  2. 几乎没有人定义 html 文件的编码。

好的,在这种情况下,浏览器将尝试推断编码,但正如我的测试所示,它不会单独推断每个 iframe 的编码,因此,某些 iframe 的内容会变得混乱。

要重现,请创建以下文件:

index.html(编码的 utf-8)

<html>
  <iframe src="utf.html"> </iframe>
  ááá
  <br />
  <iframe src="iso.html"> </iframe>
</html>

utf.html(编码的 UTF-8)

<html>
  ááááéééé
</html>

iso.html(编码的 ISO-8859-1)

<html>
  ááééíí
</html>

对。如果你看到结果将不完美。

如果我在元标记中正确添加编码信息,它将起作用。

请记住,我无法更改第三方内容。所以,长话短说,问题是。在我的示例中,有没有办法让它显示所有字符,仅编辑index.html?

谢谢

I am designing a web site that will rely on iFrames to show third party content. Given that, I have two problems.

  1. This third party content may come in different encodings.
  2. Almost nobody defines the encoding of a html file.

Ok, in this case the browser will try to infeer the encoding but as my tests shows it won´t infeer the encoding of each iframe sepparatly and, hence, some iframe will have it´s content messed up.

To reproduce create the following files:

index.html (encoded utf-8)

<html>
  <iframe src="utf.html"> </iframe>
  ááá
  <br />
  <iframe src="iso.html"> </iframe>
</html>

utf.html (encoded UTF-8)

<html>
  ááááéééé
</html>

iso.html (encoded ISO-8859-1)

<html>
  ááééíí
</html>

Right. If you see the results won´t be perfect.

If I add encoding info in meta tag properly it will work.

Remember I can´t change third party content. So, long story in short, the question is. In my example, is there a way to make it show all characters properly editing only index.html?

Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夏有森光若流苏 2024-10-11 02:24:10

没有办法在客户端执行此操作。由于跨域安全策略,浏览器将阻止此操作。您将需要通过服务器代理页面并修改输出。

There is not a way to do this client side. The browser will block this because of cross domain security policies. You will need to proxy the pages through your server and modify the output.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文