【发布时间】:2016-06-04 04:17:14
【问题描述】:
在最新的 Gecko 发布后不久,Firefox 和所有基于它的浏览器(包括 AdBlock 等 Droid 应用浏览器)停止在我的网站上呈现我的 Google 字体。没有其他浏览器受到影响。
在 Firefox (44.0.2) 中使用开发人员工具查看我的网站时,会针对其中一种字体显示以下消息:
跨域请求被阻止:同源策略不允许读取 远程资源在 http://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNShampu5_7CjHW5spxoeN3Vs.woff2。 (原因:CORS 标头“Access-Control-Allow-Origin”缺失)。
其他字体有相同的错误信息。
我一直允许在我的 .htaccess 文件中使用此指令使用 CORS,并且它适用于所有其他浏览器:
Header set Access-Control-Allow-Origin "*"
我使用的与错误消息中引用的字体相关的@font-face 规则是:
@font-face{font-family:'Bold';font-weight:600;font-style:normal;src:url('http://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSnZ2MAKAc2x4R1uOSeegc5U.eot');src:url('http://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSnZ2MAKAc2x4R1uOSeegc5U.eot?#iefix') format('embedded-opentype'),
local('Open Sans Semibold'),
local('Open-Sans-600'),
url('http://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNShampu5_7CjHW5spxoeN3Vs.woff2') format('woff2'),
url('http://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSqRDOzjiPcYnFooOUGCOsRk.woff') format('woff'),
url('http://fonts.gstatic.com/s/opensans/v13/MTP_ySUJH_bn48VBG8sNSonF5uFdDttMLvmWuJdhhgs.ttf') format('truetype'),
url('http://fonts.gstatic.com/l/font?kit=MTP_ySUJH_bn48VBG8sNSllIn5tFQcqMuf-jhyJP0ps#OpenSans') format('svg');}
Gecko 44.0.2 中的哪些更改阻止了 Google 字体在 Firefox 和其他基于相同代码库的浏览器中加载?可以做些什么来解决这个问题?
【问题讨论】:
-
我在使用 Firefox 44.0.2 客户端时遇到了不同的 CORS 问题。此链接指向可能导致问题的安全修复程序:mozilla.org/en-US/security/advisories/mfsa2016-13我还没有解决方案。
-
尝试根据jsbin.com/royolabaxo/1上面的sn-p重新创建测试用例。 Firefox 不会产生您所指的错误。您是否在页面上使用 JS 库或可能解析 CSS 并尝试获取字体的附加组件?
标签: css .htaccess firefox fonts cors