2

实在看不懂问题。出于某种原因 - IE10 以相反的顺序呈现希伯来语。如果我使用兼容模式(IE 开发者工具,IE 10 兼容模式)它工作正常... http://www.undergraduate.technion.ac.il/rishum/index.html

尝试了各种 RTL 修复(Css、dir 属性等)

4

3 回答 3

2

并非页面上的所有文本都以相反的顺序排列。似乎顺序颠倒的部分是在“希伯来视觉”编码 ISO-8859-8 中的框架页面中,即在希伯来文本以错误顺序编写的编码中。

对于页面http://www.undergraduate.technion.ac.il/rishum/entry.php,HTTP标头中没有可用的编码信息,并且该页面包含<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=VISUAL">使用未定义名称VISUALISO-8859-8是注册名称,并且hebrew是已定义代名词)。但似乎 IE 10 将编码识别为 ISO-8859-8,它只是实现错误。

在我的 IE 10 (Win 7) 上,标准和怪癖模式下的顺序都是错误的。将“文档模式”(实际上是浏览器的文档渲染模式)设置为 IE 9 或 IE 8 不会改变这一点;在 IE 7 模式下,渲染是正确的。

很难说是否可以绕过这个 IE 错误。最好通过始终使用 UTF-8 编码来避免该问题,即将文件重新编码为 UTF-8 并将编码声明为 UTF-8。

于 2013-05-21T10:32:21.970 回答
1

内容是否在框架集中?在框架集中处理阿拉伯语内容我在 IE10 和 IE11 中看到了这个问题。似乎 IE 试图镜像整个框架。

对我有用的解决方案是从顶部框架集中的开始 html 标记中删除 dir 属性,并在每个框架的内容页面的开始 html 标记中设置 dir="rtl" 。

所以在框架集中:

<html>

<frameset>
<frame src="frame_a.html">
<frame src="frame_b.html">
</frameset>

</html>

然后在 frame_a.html 中:

<html dir="rtl">
<head></head>
<body>
    <p>لقد اطّلعت على هذا الدرس من قبل.هل تود العودة إلى آخر موضع اطّلععليه في الدرس؟</p>
</body>
</html>
于 2015-06-23T16:29:20.767 回答
0

我不是 RTL 方面的专家,但考虑到它在兼容模式下工作,然后在短期内尝试添加

<meta http-equiv="X-UA-Compatible" content="IE=5">

从长远来看(或者如果这不起作用),您会考虑将页面重写为当前的 HTML 标准。你至少应该

  • 添加一个字符集声明(到 HTTP 标头而不是 HTML),特别是因为这是希伯来语而不是基本的 ASCII。(这也是我对 RTL 问题的帮助)。
  • 摆脱框架。框架是一种过时和过时的技术。
  • 更正 HTML 语法错误。
  • 使用 CSS 进行样式设置。
  • 摆脱链接的图形。(我很想阅读该页面,但无法自动翻译图形)。

顺便说一句,使用http://validator.w3.org/检查最严重的错误。由于这是一个框架站点,您需要分别检查每个框架文档。

于 2013-05-21T10:28:36.797 回答