1

我正在为德国的一家大公司开发 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 都使用操作系统语言,没有单独的浏览器语言)。

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

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

问候和非常感谢。

4

1 回答 1

2

您的客户端可能缺少旧版 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
于 2020-10-15T11:42:52.067 回答