簡體   English   中英

運用 <meta http-equiv=“X-UA-Compatible” content=“IE=8” /> 網站模式的良好做法?

[英]Using <meta http-equiv=“X-UA-Compatible” content=“IE=8” /> mode in sites good practice?

我最近發現了將以下內容添加到網站標題中的樂趣:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

網站只是工作,CSS很漂亮,生活也很好。 但我有點擔心這種做法有多好?

那台安裝了IE7的舊電腦怎么樣? 該版本的IE7能否實際訪問IE8標准模式?

對問題最后一部分的簡短回答是否定的:IE7不能在IE8模式下工作。 因此,使用X-UA-Compatible標頭不會強迫舊版本的IE認為它們是更新版本。 (如果有效,我們都可以開始使用content="IE-10"並且完全擔心向后兼容性)

X-UA-Compatible標志的作用是告訴較新版本的IE重新進入兼容模式以模擬舊版本。 因此,您的content="IE-8"標志對IE7或IE8沒有影響,但會使IE9回歸到IE8模式。

這意味着IE9將以試圖向后兼容的名義有效地丟棄其新功能。

如果這是你想要的IE9,那么一定要使用X-UA-Compatible標頭。 如果它不是你想要的,那就不要使用它。

(值得注意的是,已知IE中的向后兼容模式與他們試圖模擬的版本的真實副本100%兼容並不是很好,所以不要認為你會獲得完美的副本在IE9中運行的IE8也是如此 - 在普通模式下,IE8或IE9都有自己的怪癖

另一件需要注意的事情是,微軟提供的標簽示例並不總是有效。 閱讀定義文檔兼容性 ,尤其是頁面底部的社區添加。

就最佳實踐而言,它們可能不是最好的長期解決方案,但在IE9發布且網站出現故障時非常方便。

每個人都正確地說的向后兼容性應該僅在嚴格要求時應用,因為它不能完美地工作,並且不能通過添加兼容性標簽來獲得新瀏覽器的功能到舊瀏覽器。

我在Windows 7測試環境中安裝了IE8,並且它渲染了我的代碼的一些部分,如IE7之前做過的(我的元標記中沒有內容=“IE7” )!
在使用Windows 7 + IE8的另一台機器上,代碼呈現不同,但我想要的方式。
http://www.greywyvern.com/?post=313上有一篇有趣的文章告訴IE8呈現的方式取決於系統上安裝的Service Pack(文章是關於XP的,但我的是Windows 7,我有同樣的問題)。

所以現在我把content =“IE10”放在我的網頁上,我的網站在IE10,IE9和IE8中正確顯示。

我使用的是Discus,它與舊版本的IE不兼容。 我得到了幫助他們說在我的頁面代碼中使用content =“IE-8”...

content =“IE-8”也告訴我的瀏覽器改變表格和文本的大小等:p我改為content =“IE-7”它完美無缺。

添加<meta http-equiv=“X-UA-Compatible” content=“IE=8” />模式並不是一個好主意,因為它會阻止您的應用程序利用更新版本的瀏覽器。 但我認為添加<meta http-equiv="X-UA-Compatible" content="IE=Edge" />是好的,因為它會強制瀏覽器在任何最新版本的標准下呈現。

注意:添加Edge可能會破壞您的代碼,因為您的應用程序可能未針對此新版本進行測試。 在大多數情況下,這非常好,但你永遠不會知道。

有關其他可能選項的詳細信息,請參

“X-UA兼容”內容=“IE = 9; IE = 8; IE = 7; IE = EDGE”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM