我正在嘗試創建一種字體庫以供在我的網站上使用,這樣我就可以在CSS中調用庫中的任何字體,而無需進行任何其他設置。為此,我創建了一個子域,在其中將每種字體的文件夾放置在存儲庫中,其中包含每種字體的各種文件類型。我還在子域的根目錄上放置了一個名為font-face.css的css文件,并在其中填充@font-face了每種字體的聲明,這些字體通過絕對鏈接進行鏈接,以便可以在任何地方使用它們。我的問題是,似乎只能在字體所在的子域上使用字體,而在其他站點上則無法顯示該字體。使用firebug,我確定font-face.css文件已成功鏈接并加載。那么為什么字體無法正確加載?字體文件有保護嗎?我使用了應該允許使用的所有字體,所以我不明白為什么會這樣。也許這是一個Apache問題,但是當我鏈接到該字體時,我可以下載該字體。哦,為了澄清一下,我沒有通過設置此設置來侵犯任何版權,我正在使用的所有字體都被許可使用以允許這種事情。但是,我想建立一種方法,只有我可以訪問此字體庫,但這是另一個項目。
3 回答

九州編程
TA貢獻1785條經驗 獲得超4個贊
這是因為Firefox(從您提到的Firebug來看)認為跨域(甚至子域)Web字體嵌入是一個壞主意。
您可以說服它從子域中加載字體,方法是將其添加到提供字體的子域的頂級.htaccess文件中(已更新,以適應HTML5 Boilerplate中同一文件中的代碼):
<FilesMatch "\.(ttf|ttc|otf|eot|woff)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
針對此:
但是,我想建立一種方法,只有我可以訪問此字體庫,但這是另一個項目。
在為W3C規范Access-Control-Allow-Origin并沒有再多說什么了比任何一個通配符"*"或一個特定的域。到目前為止,我已經找到了建議對標題進行驗證的SO答案Origin,但是我認為這是僅Firefox的標題。我不確定其他瀏覽器(它們甚至不需要.htaccess上面的技巧就可以使用跨域Web字體)。
- 3 回答
- 0 關注
- 680 瀏覽
相關問題推薦
添加回答
舉報
0/150
提交
取消