我有一個關於這個例如一個相當具體的IE9的問題(但在這裏它只是指IE8及以下)IE8 web font iframe bug workaroundsCSS相對的HREF和iframe中的IE9
我有iframe內的iFrame像這樣
頁Top page
-- iframe1.html
-- -- iframe2.html
-- -- -- iframe3.html
iframe 2是由iframe1動態加載的。我也有在這種方式編碼字體的fonts.css樣式表:
src:url(data:font/opentype;base64, /*FONT HERE */
是毗鄰iframe1的文件夾中
/%folder_with_top_page%/%folder with iframe1.html%/style/fonts.css
iframe2.html加載不同於fonts.css文件文件夾:
<link rel="stylesheet" type="text/css" href="../style/fonts.css" />
而這也與其他瀏覽器就好了,除了在IE9結果如下:
page loads
page flashes with correct fonts
page reverts to New Times Roman/default serif font
綜觀開發工具網絡選項卡中的IE9則說明該瀏覽器試圖加載的字體從根文件夾:
404 %folder_with_top_page%/style/fonts.css
一切工作就好了,如果我還放置fonts.css文件在那裏,但似乎沒有必要。在%folder_with_iframe3.html%/ style/fonts.css中還有一個名爲fonts.css的文件,加載得很好,似乎與第一個鏈接中描述的問題有關,但我認爲問題在> IE9中修復了?我知道頁面結構在任何情況下都不是最佳的,但不是由我來改變它。
我的問題如下:
1)在我張貼的鏈接,但在IE9,而不是描述這是同樣的問題? 2)哪一種解決方法最有意義:只要將字體文件插入「正確」(=錯誤,root-ish)文件夾,將fonts.css文件放在與加載它的文件相同的級別(也就是將文件複製到%folder_with_iframe2.html%/ style/fonts.css)或其他內容(例如在站點加載後使用jQuery將CSS再次附加到頁面)。
該行爲僅在iframe發生時纔會發生,但不會在單獨加載頁面時發生。