2013-07-12 45 views
0

當我在我的CSS定義的字體面看起來像加載以下:IE字體面失敗,不使用FQDN

@font-face { 
    font-family: 'iconFont'; 
    src: 
     url('../fonts/iconFont.eot?') format('eot'), 
     url('../fonts/iconFont.woff') format('woff'), 
     url('../fonts/iconFont.svg#iconFont') format('svg'), 
     url('../fonts/iconFont.ttf') format('truetype'); 
    font-weight: normal; 
    font-style: normal; 
} 

我也有類似的格式的一些其他字體的面孔。當使用我的電腦的完全限定域名(例如'mypc.mydomain.local')時,Internet Explorer 9 +會檢索字體並正確呈現頁面。但是,只使用筆記本電腦的主機名(例如'mypc'),IE甚至不會嘗試檢索字體。我已使用Fiddler進行了確認。

我能看到的唯一區別是根據使用完全限定名稱(Internet)還是隻使用主機名稱(本地Intranet),不同的安全區域有效。這兩個區域都將「下載字體」設置爲在我的PC上啓用。

如果它與安全區域有關,那麼令人驚訝的是內聯網設置似乎允許低於互聯網設置。或者這是IE中的錯誤。

無論我使用的主機名是什麼,Firefox都會正確下載字體並進行渲染。

+0

什麼是你的筆記本電腦的IE版本? –

+0

筆記本電腦在Windows 8上運行IE 10.在XP上的IE 9上也出現這種情況。 – Glenn

回答

0

Internet Explorer對WOFF字體執行同源或CORS檢查。如果您在「mypc.mydomain.local」中有頁面,則不能使用「mypc」中的字體,除非存在正確的Access-Control-Allow-Origin標題。

https://developers.google.com/fonts/docs/troubleshooting#CORS_header

+0

我正在提供與CSS相同的網站的字體。字體網址是相對的,所以我會假設在字體網址中使用相同的服務器名稱。或者我錯過了什麼? – Glenn

+1

在IE的F12開發者工具「控制檯」選項卡中,您看到了什麼?您的HTML文件如何引用您的CSS文件?您的頁面是否處於IE標準模式? – EricLaw

+0

以下錯誤:「CSS3114:@ font-face失敗的OpenType嵌入權限檢查。權限必須是可安裝的。」顯示在控制檯中。我已經改回到使用googleusercontent網址而不是嵌入它們。這也表明該頁面在我不想要的「兼容性視圖」中運行。仍在調查這一點。 – Glenn