使用@font-face跨域字体加载
在尝试为多个网站建立中央字体存储库时,开发人员遇到了一个特殊的问题:@font-face 字体只能在存储库所在的子域上访问。尽管成功链接到其他网站上的 font-face.css,但字体加载失败。
原因
此行为源于 Firefox 的安全策略,该策略认为交叉域字体嵌入有害。
解决方案
要克服此限制,请将以下代码添加到托管字体的子域上的顶级 .htaccess 文件中:
<FilesMatch "\.(ttf|ttc|otf|eot|woff)$"> <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule> </FilesMatch>
访问限制
虽然修改后的.htaccess允许所有网站访问该字体,开发人员表示希望将访问限制为仅授权用户。但是,Access-Control-Allow-Origin 的 W3C 规范将选项限制为通配符“*”或特定域。
以上是如何在 Firefox 中使用 @font-face 跨域加载字体?的详细内容。更多信息请关注PHP中文网其他相关文章!