首页 >web前端 >css教程 >为什么我不能在 Firefox 中使用 @font-face 进行跨域字体嵌入?

为什么我不能在 Firefox 中使用 @font-face 进行跨域字体嵌入?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-27 06:21:10403浏览

Why Can't I Use @font-face for Cross-Domain Font Embedding in Firefox?

@font-face 的跨域字体嵌入问题

问题:

A开发人员正在尝试在子域上创建字体存储库并使用以下命令从其他网站访问字体@font-face 声明。但是,这些字体仅适用于它们托管的子域。

答案:

问题在于 Firefox 的安全机制。 Firefox 认为跨域 Web 字体嵌入存在潜在的安全风险。为了解决这个问题,用户可以将以下代码添加到托管字体的子域的顶级 .htaccess 文件中:

<FilesMatch "\.(ttf|ttc|otf|eot|woff)$">
    <IfModule mod_headers.c>
        Header set Access-Control-Allow-Origin "*"
    </IfModule>
</FilesMatch>

此代码允许 Firefox 从子域加载字体,覆盖其默认安全措施.

对于限制对字体存储库的访问,Access-Control-Allow-Origin 的 W3C 规范仅支持通配符或特定域。没有直接的解决方案可以在不使用自定义身份验证机制的情况下将访问限制为仅授权用户。

以上是为什么我不能在 Firefox 中使用 @font-face 进行跨域字体嵌入?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn