【问题标题】:Why does CSS Hyphenation not work in IE11 and MS Edge Legacy?为什么 CSS 连字符在 IE11 和 MS Edge Legacy 中不起作用?
【发布时间】:2020-10-15 19:42:52
【问题描述】:

我正在为德国的一家大公司开发 Intranet 门户。 由于大公司的技术流程有时运行速度较慢,因此他们仍然使用 IE11 和旧的 MS Edge 浏览器。

由于这些旧浏览器支持 CSS 连字符:auto(参见:https://caniuse.com/css-hyphens),我开发了一个小 CSS,它可以启用 CSS 连字符:

.hyphens {
    hyphens: auto;
    -ms-hyphens: auto;
}

所以无论我在哪里设置类“连字符”,CSS 连字符都会被激活。

这适用于我的计算机安装的 IE11 和旧版 Edge,但不适用于我客户的客户端。在他们的 Edge 和 IE11 浏览器中都没有。

我检查了这些计算机上的 CSS 是否正确加载。如果我添加这样的规则

background: red;

对于“连字符”类,它会被正确应用。只是没有应用连字符。

我发现我的本地 Edge 版本与我客户的版本不同。 我在版本中使用 Edge 和 IE11

Microsoft Edge 42.17134.1098.0
Microsoft EdgeHTML 17.17134
IE11:11.1667.17134.0

而我的客户有

Microsoft Edge 44.17763.831.0
Microsoft EdgeHTML 18.17763
IE11:11.1457.17763.0

已安装。

我们都使用 Windpw 10 并将德语设置为主要语言(我认为 IE11 和 Edge 都使用 OS 语言,没有单独的浏览器语言)。

我使用 HTML 语言属性集进行了测试,但未设置。对我来说没有区别(两种情况都有效),对我的客户来说没有区别(两种情况都不起作用)。

目前我不知道为什么连字符似乎只在我的机器上工作。 可能有一些我不知道的设置吗? 任何提示我如何调试它? 它们是否有可能通过 Windows 组策略被(停用)激活?

问候和非常感谢。

【问题讨论】:

  • 您的客户端可能缺少旧版 MS 浏览器的连字符字典,例如microsoft.com/en-us/download/details.aspx?id=40289
  • 这很好。我刚刚发现 HTML textareas 中的拼写检查在我的 IE11/Edge 安装中有效,而在我客户的一台计算机上拼写检查不起作用。如何检查是否安装了 IE11/Edge 词典或安装了哪些词典?我猜它隐藏在 Windows 设置中的某个地方?
  • 您是否尝试使用语言属性进行测试?如果不行,我建议尝试通过在代码中添加<html lang="en"> 来进行测试,看看它是否有效。
  • 确实,我用<html lang="en"> 测试过,对我客户的客户端电脑没有任何影响。
  • 我做了更多的研究,发现连字符需要这个代码。您也可以尝试使用它进行测试并检查结果。 <meta charset="utf-8"> <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="fr-FR">

标签: css windows internet-explorer-11 microsoft-edge css-hyphens


【解决方案1】:

您的客户端可能缺少旧版 MS 浏览器的连字符字典。

不幸的是,我不知道实际上支持直接在 Windows 10 中安装的 Windows 更新包;带有 IE 11 拼写检查器 (KB2841134) 的 MSU 软件包似乎是可供下载的最新软件包,但无法直接安装(“更新不适用于您的计算机”)。

但是,字典似乎可以通过文件复制来部署。每个字典包含三个文件,名称分别为MsSp7xx.alcMsSp7xx.dubMsSp7xx.lex,其中xx 是语言代码(例如en-USde 等)。

字典安装在这里: %WINDIR%\Globalization\ELS\SpellDictionaries

要获取字典,可以尝试如下:

expand ie-spelling-*.msu -f:Windows6.3-KB2849696-x86.cab .
md ie-spelling
expand Windows6.3-KB2849696-x86.cab -f:mssp7*.* -r ie-spelling
  • ie-spelling目录下的子目录中的三个文件复制到%WINDIR%\Globalization\ELS\SpellDictionaries

【讨论】:

  • 听起来很不错,因为我们发现拼写检查在 HTML 文本区域中也不起作用。由于我的客户是一家大公司的一部分,因此他们不允许在自己的 PC 上进行注册。我建议与他们的帮助台取得联系,并声明拼写检查不适用于 Web 表单。得到客户的答复后,我会尽快回复她。
  • @Windwalker,一旦您的客户有机会进行测试,请告诉我们测试结果和问题的状态。这可能有助于缩小问题范围。
  • 当然,一旦我的客户在他的 PC 上安装了字典,我会回来的。
猜你喜欢
  • 2017-05-22
  • 2017-05-24
  • 1970-01-01
  • 1970-01-01
  • 2017-03-03
  • 2018-06-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多