首页 >web前端 >css教程 >为什么我无法在 Firefox 中从外部域加载 @font-face 字体?

为什么我无法在 Firefox 中从外部域加载 @font-face 字体?

Barbara Streisand
Barbara Streisand原创
2024-11-07 05:24:03504浏览

Why Can't I Load @font-face Fonts from an External Domain in Firefox?

@font-face 来自外部域的绝对 URL:排除 Firefox 中的问题

使用 @font-face 将外部字体合并到您的网站中规则对于确保一致的版式和品牌至关重要。然而,当在外部域上托管字体并尝试在 Firefox 中加载它们时,您可能会遇到字体无法正确渲染的令人沮丧的问题。

此问题源于 Firefox 强制执行同源策略的事实根据@font-face 请求。当尝试从不同域加载字体时,浏览器会触发错误,除非字体文件提供了访问控制标头。

解决 Apache 中的问题

到要解决此问题并允许在 Firefox 中加载跨源字体,您需要配置 Web 服务器以发送适当的标头。对于 Apache 服务器,请将以下代码添加到您的 .htaccess 文件中并重新启动服务器:

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>

此配置将添加必要的 Access-Control-Allow-Origin 标头,其值为“*”,允许Firefox 从指定的外部域加载字体。

有了这些标头,Firefox 现在将能够按预期访问和渲染字体,确保跨网页提供无缝且一致的排版体验。

以上是为什么我无法在 Firefox 中从外部域加载 @font-face 字体?的详细内容。更多信息请关注PHP中文网其他相关文章!

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