首頁 >web前端 >css教學 >為什麼我無法在 Firefox 中使用子網域中的 @font-face 字體?

為什麼我無法在 Firefox 中使用子網域中的 @font-face 字體?

Susan Sarandon
Susan Sarandon原創
2024-11-15 21:31:03983瀏覽

Why Can't I Use @font-face Fonts from a Subdomain in Firefox?

跨域@font-face 阻止

在嘗試建立字體儲存庫時,您遇到了@font 的問題子域中的-face 聲明只能在該子網域內存取。 Firebug 確認 font-face.css 檔案載入成功,讓你對其他網站的字體載入失敗感到困惑。

Firefox 的跨域限制

根本原因在於Firefox的安全措施。它可以防止跨域(包括子域)嵌入字體。此措施旨在防範潛在的惡意活動。

htaccess 檔案修改

要克服Firefox 中的此限制,請透過新增以下內容來修改子網域的頂層.htaccess 檔案以下程式碼:

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

此程式碼會為回應新增一個標頭,允許跨來源字體載入。

限制存取

當您最初試圖授予自己對字體儲存庫的獨佔存取權限,Access-Control-Allow-Origin 的W3C 規範僅允許通配符「* ”或特定域。需要進一步研究以確定是否有選項可以對存取實施更精細的控制。

以上是為什麼我無法在 Firefox 中使用子網域中的 @font-face 字體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn