標籤:style blog http java color 使用
<!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-Compatible
<meta http-equiv="X-UA-Compatible" content="IE=10,IE=9,IE=8" />
上面這段代碼的意思是強制開啟相容性檢視,即以IE10、IE9、IE8的文檔模式來解析,高於IE10時候以IE10來解析,低於IE8時候以原始版本解析。
在幾乎沒有用到IE新特性的時候直接把相容性開到最低,比如需要相容IE10、9、8的時候直接強制相容性檢視為IE8。而下面的情況下如果是IE10則以IE10解析,IE9則以IE8解析,可以發現標籤中處於IE10和IE8之間的9被剔除掉了。
<meta http-equiv="X-UA-Compatible" content="IE=10,IE=8" />
在公司項目開發外掛程式的過程中,由於公司有大華的相機裝置,我也用了一下,發現在IE11下面無法正常使用,手動F12將相容性檢視調整為IE10,又可以正常使用。
不過開發的時候又有誰能提前想到IE11已經走向標準化,而不再是簡單的IE核心,這裡不再去深論這個話題。
講講第二個話題IE條件注釋(IE5引入,目前IE10及10以上的版本不再支援條件注釋)
由於我的IE已經是11的版本了,這裡並沒有對條件注釋進行詳細的測試,內容參考於《JavaScript權威指南6》第13章。有興趣的朋友可以自己去測試。
html注釋:
<!--[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。這裡用到了能力檢測
‘@_jscript‘
是IE的javascipt解譯器,總是為true(指令碼中變數都能轉換為0或1,true or false,表示存在這個變數,存在這種能力)
建議開發人員在開發過程中盡量用能力檢測代替瀏覽器檢測。