Firefox (52.6) 拒绝下载字体并给出错误“Content Blocked Source”。同一页面在 Chrome 中运行良好。错误是:
downloadable font: download failed (font-family: "Myfont" style:normal weight:normal stretch:normal src index:0): content blocked source: http://example.com/test/Myfont.ttf
CSS 代码如下所示:
@font-face {
font-family: 'Myfont';
src: url('Myfont.ttf') format('truetype');
}
字体存在于/test 目录中。当 Chrome 加载此页面时,它会请求字体并正确接收和显示它。
该网站本身是一个在 Apache 上运行的非常简单的 HTTP 网站。没有第三方内容,没有事件内容,没有 Javascript,没有 HTTPS。 CSS 嵌入在 HTML 页面 (index.html) 中。没有单独的 CSS 文件。服务器显然在提供字体,因为 Chrome 可以显示它。如果我尝试在 Firefox 中只下载字体,它就可以工作。换句话说,以下 URL 在 Firefox 中有效:
http://example.com/test/Myfont.ttf
这与 Firefox 在通过 CSS @font-face 访问时报告为“内容被阻止”的 URL 完全相同。
我还尝试将所有内容移至根目录,包括 font 和 index.html,但没有任何区别。适用于 Chrome。在 Firefox 中不起作用。
在我的客户端,我把security.fileuri.strict_origin_policy改成了FALSE,还是不行,所以不是origin的问题。
最佳答案
在解决这个问题一整天后,我终于弄清楚它是什么:NoScript。 NoScript 插件实际上不仅仅是阻止 JavaScript。它的默认选项之一是阻止@font-face:
转到 Tools/AddOns (Ctrl+Shift+A) NoScript Options 将其关闭。
关于html - CSS 下载字体在 Firefox ("Content Blocked Source"中被阻止),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48425742/