首頁 >web前端 >css教學 >為什麼 IE 無法透過 HTTPS 載入 EOT 字型?

為什麼 IE 無法透過 HTTPS 載入 EOT 字型?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-18 20:40:031130瀏覽

Why Can't IE Load EOT Fonts Over HTTPS?

解決IE 中透過HTTPS 載入@font-face EOT 字型失敗的問題

Internet Explorer 使用者可能會遇到使用@font-face 連線規則透過HTTPS 連線載入EOT 字體的問題。雖然字體可能透過 HTTP 成功加載,但切換到 HTTPS 可能會導致失敗。

調查:

問題源自於 IE 對 HTTPS 請求的處理。當透過 HTTPS 載入字型並且伺服器傳送 Cache-Control: no-cache 標頭時,IE 會忽略下載的字型。這與 KB 815313 中所述的 IE 行為有關,該行為會阻止快取透過 SSL 下載的活動文件。

解決方案:

要解決此問題,請確保伺服器代管字型不會傳送 Cache-Control: no-cache 標頭。刪除或修改此標頭將允許 IE 識別下載的字型。

範例:

@font-face {
  font-family: 'GothamCondensedBold';
  src:url('path/to/fontgothmbcd-webfont.eot');
  src:url('path/to/fontgothmbcd-webfont.eot?#iefix') format('embedded-opentype'),
      url('path/to/fontgothmbcd-webfont.woff') format('woff'),
      url('path/to/fontgothmbcd-webfont.ttf') format('truetype'),
      url('path/to/fontgothmbcd-webfont.svg#GothamCondensedBold') format('svg');
  font-weight: normal;
  font-style: normal;
}

透過確保伺服器不會傳送 Cache-Control:無快取標頭,IE 會透過 HTTPS 正確載入 EOT 字型。

以上是為什麼 IE 無法透過 HTTPS 載入 EOT 字型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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