360浏览器兼容问题
2013-11-11 15:41 king0222 阅读(477) 评论(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的浏览器模式和文本模式的不同进行兼容处理了。