代码改变世界

360浏览器兼容问题

2013-11-11 15:41  king0222  阅读(475)  评论(0编辑  收藏  举报

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的浏览器模式和文本模式的不同进行兼容处理了。