亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

@ font-face字體只能在自己的域上工作

@ font-face字體只能在自己的域上工作

米脂 2019-11-26 14:34:44
我正在嘗試創建一種字體庫以供在我的網站上使用,這樣我就可以在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字體)。


查看完整回答
反對 回復 2019-11-26
  • 3 回答
  • 0 關注
  • 680 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號