我有一个动态嵌入 iframe 的网页,它加载包含本地化字符串的 JS 文件:外部页面的内容类型为“Shift-JIS”,但内部框架(和本地化字符串)为“utf-8 ”。结构是这样的:
<html>
<head>
<meta charset="shift-JIS" >
</head>
<body>
<iframe id="my-frame" src="my-frame.html">
<html>
<head>
<meta charset="utf-8" />
<script src="my-i18n.js" charset="utf-8" />
</head>
</html>
</iframe>
</body>
</html>
在初始渲染时,内容正确显示。但是在重新加载时,在 Internet Explorer 11 中,如果my-i18n.js
从 IE 的缓存返回,则 utf-8 编码的内容将被解释为 shift-JIS 编码的内容,并且在视觉上会被破坏。
只有当 IE 从缓存中返回本地化字符串时。如果我打开 devtools 并单击“始终从服务器刷新”以禁用缓存,它每次都呈现良好。
有没有办法解决这个问题,或者解决它?