如果从IE安全选项中禁用字体下载,font-awesome无法在IE 11中工作



我使用Font-awesome-min.css在IE 11和chrome上运行良好。

但是我的客户要求是使用font-awesome,即使我们禁用了从IE互联网选项(Internet options -> Security -> Custome level -> Download -> Font download -> Disable)下载的字体。

任何建议吗?

base64编码完全不起作用。它在Chrome上工作得很好,但在禁用字体下载的IE 11中,它不起作用。

这是有道理的,并不让我感到惊讶。从安全的角度来看,如果你不允许第三方字体在你的系统上呈现,那么为什么CSS中的嵌入式字体会被区别对待呢?它仍然是从一个不受信任的来源下载的第三方字体。

许多解决方案:

  • 不要使用FA
  • 使用FA作为图像
  • 说服域管理员启用字体下载
  • 在本地安装字体(通过组策略),并使用url: local(myFont.woff)
  • 如果网站是内部的,将其添加到可信站点区域,并确保字体下载是启用的。

困难的方法是切换到基于png的https://github.com/encharm/Font-Awesome-SVG-PNG或者你可以将你想要使用的特定图标更改为png文件,并在。css文件

中更改该图标的内容

这是可以修复的。您只需要Base64字体并将其包含在CSS文件中。确保在包含对新的FontAwesomeB64.css的调用后删除对可下载WOFF文件的调用

使用https://www.base64encode.org/编码WOFF font - awesome字体文件

编辑结果文件并添加这些行。当您到达src:url行时,确保将其运行到您收到的base64信息中(不要使用我在这里显示的大于和小于符号)。在base64信息的末尾添加单引号、圆括号、分号和大括号,以完成:

@font-face { 
font-weight: 400;
font-style: normal;
font-family: 'FontAwesome';
src:url(data:application/x-font-woff;base64,<insert base64 code here>);}

你现在有一个base64 CSS文件的font - awesome字体绕过所有的字体下载拒绝设置的浏览器。

我发现这适用于所有字体,有点重的下载,但值得的功能保证。

最新更新