0

我知道 font-face 不允许在某些浏览器中使用外部 url 字体(例如,这在 Firefox 中不起作用)。

但最近我发现了一个插件“video-js”,它可以帮助你在视频播放器中嵌入视频。该插件的 css 文件包含一个名为 vjs 的字体。

为什么我可以使用他们的托管版本并且他们的自定义字体“vjs”仍然可以在我的网站server1.example.com上使用?

<link href="http://vjs.zencdn.net/4.1/video-js.css" rel="stylesheet">
<script src="http://vjs.zencdn.net/4.1/video.js"></script>

一旦我在我的第二个网络服务器 server2.example.com 上托管 css,它将不再工作,直到我将文件移回 server1.example.com 或使用 zencdn 托管的版本。

这是为什么?他们是否修改了 Web 服务器中的某些设置?

4

1 回答 1

2

默认情况下,Firefox 不允许跨域请求自定义字体。我仍然不明白他们为什么不允许这样做,但是您可以通过在字体请求中添加 Access-Control-Allow-Origin 标头来解决它。在 Apache 中,你会做这样的事情:

AddType application/vnd.ms-fontobject .eot
AddType font/ttf .ttf
AddType font/otf .otf
<FilesMatch "\.(ttf|otf|eot)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
于 2013-08-18T01:40:15.313 回答