<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=10,IE=9,IE=8" /> <title>無標題文檔</title> </head> <body> </body> </html>
上文是一個簡單的HTML文件裏面的代碼,下面咱們來分析一下元信息中的 X-UA-Compatiblejavascript
<meta http-equiv="X-UA-Compatible" content="IE=10,IE=9,IE=8" />
上面這段代碼的意思是強制開啓兼容性視圖,即以IE十、IE九、IE8的文檔模式來解析,高於IE10時候以IE10來解析,低於IE8時候以原始版本解析。html
在幾乎沒有用到IE新特性的時候直接把兼容性開到最低,好比須要兼容IE十、九、8的時候直接強制兼容性視圖爲IE8。而下面的狀況下若是是IE10則以IE10解析,IE9則以IE8解析,能夠發現標籤中處於IE10和IE8之間的9被剔除掉了。java
<meta http-equiv="X-UA-Compatible" content="IE=10,IE=8" />
在公司項目開發插件的過程當中,因爲公司有大華的相機設備,我也用了一下,發如今IE11下面沒法正常使用,手動F12將兼容性視圖調整爲IE10,又能夠正常使用。瀏覽器
不過開發的時候又有誰能提早想到IE11已經走向標準化,而再也不是簡單的IE內核,這裏再也不去深論這個話題。測試
講講第二個話題IE條件註釋(IE5引入,目前IE10及10以上的版本再也不支持條件註釋)ui
因爲個人IE已是11的版本了,這裏並無對條件註釋進行詳細的測試,內容參考於《JavaScript權威指南6》第13章。有興趣的朋友能夠本身去測試。this
html註釋:spa
<!--[if IE 11]> </br>this is ie11 <![endif]--> <!--[if gte IE 7]> </br>this is >= ie7 <![endif]--> <!--[if IE]> </br>this is IE <![endif]--> <!--[if !IE]> <--> !IE <!--> <![endif]-->
javascript註釋:插件
<script type="text/javascript"> /*@cc_on @if (@_jscript) // 該代碼位於一條JS朱室內但在IE中執行它 alert('In IE'); @end @*/ /*@cc_on @if (@_jscript) // 該代碼位於一條JS朱室內但在IE中執行它 alert('In IE'); @else*/ alert('is not in IE'); /*@end @*/ </script>
在非IE下 彈出消息框 is not in IE,在IE下則彈出了對話框 In IE。這裏用到了能力檢測 code
'@_jscript'
是IE的javascipt解釋器,老是爲true(腳本中變量都能轉換爲0或1,true or false,表示存在這個變量,存在這種能力)
建議開發者在開發過程當中儘可能用能力檢測代替瀏覽器檢測。