在Firefox中阻止CSS下载字体(“内容阻止源”)

时间:2018-01-24 15:11:08

标签: html css firefox fonts

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

这是通过CSS @ font-face访问时,Firefox报告为“内容已阻止”的完全相同的网址。

我也尝试将所有内容移动到根目录,包括font和index.html,它没有任何区别。适用于Chrome。在Firefox中不起作用。

在我的客户端,我将security.fileuri.strict_origin_policy更改为FALSE,但它仍然不起作用,因此它不是原点问题。

2 个答案:

答案 0 :(得分:0)

是否可能通过https提供页面,但字体URL是http?不确定为什么这会在chrome中起作用,因为mozilla's pages表明他们在这种情况下与chrome行为一致,但可能值得研究

答案 1 :(得分:0)

在整天解决这个问题后,我终于弄清楚它是什么:NoScript。 NoScript add实际上不仅阻止JavaScript。其中一个默认选项是阻止@ font-face:

NoScript blocks @font-face

转到工具/ AddOns(Ctrl + Shift + A)NoScript选项将其关闭。