簡體   English   中英

IE兼容模式:'X-UA兼容'標簽'Edge'

[英]IE Compatibility Mode: 'X-UA-Compatible' tag 'Edge'

我在<head>有這個:

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

它將強制IE的最新渲染模式,但兼容模式被認為是最后一個?

我的意思是,例如:在IE8中使用此代碼,它會強制它使用IE8或IE8兼容模式嗎?

該標記將嘗試強制瀏覽器使用瀏覽器支持的最新呈現模式。 它不會觸發兼容模式。

請注意,標記必須是頭部中的第一個標記,否則將無法使用。 如果可能,這個事實有利於使用HTTP頭,因為HTTP頭中的順序無關緊要。

如果在使用標頭或元標記時瀏覽器仍然以兼容模式結束,則可能是以下原因之一:

  • 你錯過了一個理智的doctype
  • 瀏覽器已設置為始終使用兼容模式
  • 該站點托管在“Intranet站點”上,並設置了Intranet站點的默認設置

更改瀏覽器兼容性視圖設置

Microsoft認為至少192.168.xx位於“Intranet站點”上。 IE8 / IE9中Intranet站點的默認設置是使用兼容模式。 對於許多業務應用程序來說這是一個很大的問題,因為即使使用這個元標記,程序員也無法覆蓋此選項。 (“Compatitiblity View中顯示Intranet站點”不能被元標記或http標頭覆蓋 - 在這種情況下,瀏覽器完全控制兼容性視圖)

兼容性視圖設置

始終添加此元標記或http標頭?

使用此元標記的另一個好處是,“兼容性視圖”圖標將從瀏覽器的地址欄中刪除。 至少您的用戶無法使用該按鈕決定渲染模式。

即使您取消選中“在兼容性視圖中顯示Intranet站點”選項,並在響應標頭中具有X-UA-Compatible,還有另一個原因可能導致您的瀏覽器默認為“兼容性視圖” - 您的組策略。 查看您的控制台以獲取以下消息:

HTML1203:xxx.xxx已配置為通過組策略在兼容性視圖中運行。

其中xxx.xxx是您網站的域名(即test.com)。 如果您看到這個,那么您的域的組策略已設置,以便任何以test.com結尾的站點都將自動呈現為兼容模式,無論文檔類型,標題等如何。

有關詳細信息,請參閱以下鏈接(解釋html代碼): http//msdn.microsoft.com/en-us/library/ie/hh180764 (v = vs。85) .aspx

我不是專家,而是通過反復試驗:

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

為我解決了這個問題。 我在網站和webapps上使用它,它阻止了IE8進入兼容模式,並在IE10和IE11中顯示為“標准”。

僅使用Edge關鍵字有什么意義? 我的意思是,如果您希望IE使用最新的渲染引擎,那么只需刪除整個元標記。

否則,它應該看起來像那樣(這將使IE8的行為像IE7和IE9,更新的將像往常一樣工作):

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, IE=Edge" />

暫無
暫無

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

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