我使用javascript腳本來使用偏移對齊某些元素。偏移量根據瀏覽器類型計算,因爲它們的行爲不同。在IE9中,獲取DOM中的子元素或計算某些偏移量,如果IE9處於IE9瀏覽器模式或IE9兼容視圖瀏覽器模式,則行爲會有所不同。如何檢測瀏覽器模式是否在IE9的「Internet Explorer 9兼容性視圖」中?
如何檢測瀏覽器模式是否在「Internet Explorer 9兼容性視圖」中?該模式由用戶在開發人員工具(F12)瀏覽器模式菜單選項中設置。
我使用javascript腳本來使用偏移對齊某些元素。偏移量根據瀏覽器類型計算,因爲它們的行爲不同。在IE9中,獲取DOM中的子元素或計算某些偏移量,如果IE9處於IE9瀏覽器模式或IE9兼容視圖瀏覽器模式,則行爲會有所不同。如何檢測瀏覽器模式是否在IE9的「Internet Explorer 9兼容性視圖」中?
如何檢測瀏覽器模式是否在「Internet Explorer 9兼容性視圖」中?該模式由用戶在開發人員工具(F12)瀏覽器模式菜單選項中設置。
我不記得我在哪裏得到這段代碼,但基本上IE8和以上有一個文件名爲「documentMode」的屬性。如果存在,但您將IE7視爲瀏覽器,則可以安全地假定您處於兼容模式。
這是可能的,用戶代理字符串是IE9在不同的IE7兼容模式下運行時,所以這將是尋找不同的IE版本之間的差異的最佳途徑之一。
你可以閱讀更多關於此這裏: http://blogs.msdn.com/b/ie/archive/2010/03/23/introducing-ie9-s-user-agent-string.aspx
很肯定,我運行Linux和我的虛像剛剛分手:
if (document.all && document.documentMode === 8 && !document.addEventListener) {
// IE9/IE10 in compatibility mode as IE8
}
在UA:
你的意思是模擬IE7/8? – andlrc
不需要。IE7和IE8還有兩個選項。共有4. –
[JavaScript的可能重複:如果IE7或IE8兼容模式下可以檢測IE9?](http://stackoverflow.com/questions/5825385/javascript-can-i-detect-ie9-if-其功能於IE7-或-IE8兼容模式) – andlrc