360瀏覽器兼容問題
360瀏覽器又是一大奇葩,市場份額大,讓我們不得不也對他做些兼容性處理。
360瀏覽器提供了兩種瀏覽模式,極速模式和兼容模式,極速模式下是webkit內核的處理模式,兼容模式下是與IE內核相同的處理模式。
但有些奇怪的地方。當我們切換到兼容模式下的時候,他的瀏覽器模式顯示為IE8標準,而文本模式確是IE7的標準。
當我們用IE8瀏覽器瀏覽網頁的時候,無論是瀏覽器模式還是文本模式都默認為IE8標準,因此這在某些地方會產生一些沖突。
我們需要有一種方式去區別360瀏覽器。但360瀏覽器并沒有提供可以用接口來區分瀏覽器的不同。
有一種方式能讓我們修改網頁在何種文本模式下工作,只需要在head標簽中添加:
<META http-equiv="X-UA-Compatible" content="IE=9" >,content="IE9"可以切換為你希望切換的版本模式,例如IE8.
但這種方式只能針對某種瀏覽器,不能滿足我們多瀏覽器兼容性的問題。
網絡上有很多判別IE6,7,8,9的腳本代碼。為了區別360的不同,我們需要可以針對他的顯示模式來進行判斷,即瀏覽器模式值和文本模式值。
(navigator.userAgent.indexOf('?MSIE 8.0') != -1) && (document.documentMode == 7)
上面的代碼就可以針對IE的瀏覽器模式和文本模式的不同進行兼容處理了。