Html 同一来源限制阻止来自同一来源的字体

Html 同一来源限制阻止来自同一来源的字体,html,css,cors,Html,Css,Cors,网站使用同一来源上托管的字体()。然而,Chrome报告说,他们正在考虑阻止跨源字体,firefox已经阻止了它 Webkit抛出此错误: Blink正在考虑拒绝不符合规范的跨源web字体请求:。 请使用Access Control Allow Origin使这些请求符合规范 我没有访问服务器的权限,我并不是要求它来解决问题(尽管我可能会向工作人员报告解决方案),但这更多是出于教育目的,因为我不知道为什么会阻止此资源,因为标题与图片和html文档的标题看起来几乎完全相同,而且起源是一样的 我注意

网站使用同一来源上托管的字体()。然而,Chrome报告说,他们正在考虑阻止跨源字体,firefox已经阻止了它

Webkit抛出此错误:

Blink正在考虑拒绝不符合规范的跨源web字体请求:。
请使用Access Control Allow Origin使这些请求符合规范

我没有访问服务器的权限,我并不是要求它来解决问题(尽管我可能会向工作人员报告解决方案),但这更多是出于教育目的,因为我不知道为什么会阻止此资源,因为标题与图片和html文档的标题看起来几乎完全相同,而且起源是一样的

我注意到的另一件事是,Chrome加载文件失败,然后请求部分内容(现在,在第一次失败后,它也会执行完整请求)

TL;博士

为什么浏览器会报告/阻止一个字体文件的加载,该文件来自一个看似“相同”的源文件?

下载此文件construct.ttf并将其放在您的服务器上。

目前,从AWS提供webfonts在Firefox和IE 9+中可能不起作用,因为AWS不支持访问控制源文件头。请在AWS论坛上查看此内容。对很多人来说似乎是个问题


作为AWS的替代方案,谷歌的云服务支持跨源文件服务。我刚刚设置了一个桶来提供webfonts,它似乎起了作用。有关更多信息,请参阅本文和。它的来源不同。您正在加载
spintires.com
,web字体位于
www.spintires.com
上。这些是不同的起源(尽管它们指向同一个地方)


您可以通过打开而不是(只有第二个会抛出错误)来验证这一点。

引用了我的问题:“我没有任何对服务器的访问权限”以及它在客户端上的外观:“来源相同”。我想知道为什么浏览器会报告/阻止来自同一来源的请求。基本上它已经在同一台服务器上了,谢谢你的回答。然而,我不期待任何替代方案,你是如何得出这个网站使用AWS的结论的?我唯一要问的是,为什么浏览器会阻止来自一个看起来相同的来源的请求(但应该有区别,否则它不会抛出这个错误,对吗?)。关于从S3提供字体,我最近开始在升级到Chrome 36后收到“Blink正在考虑拒绝…”消息,我能够通过在我的桶上启用CORS来解决这个问题。有关配置示例,请参见。这很容易找到。我已经看过了。这意味着这个问题可以通过从样式表链接中删除
www.
来解决,对吗?不,删除
www
只会产生一个不同的问题:你在访问
www.spintires.com
时会出错,而不是在访问
spintires.com
时出错。正确的解决方案是将CORS标题添加到您的web字体中(通过搜索
web字体CORS
,您可以找到大量关于如何执行此操作的文章)。另一个快速解决方案是根据请求的主机,动态地将web字体URL设置为带或不带
www