IE兼容性问题解决方案

概述

IE兼容性一般主要是两个问题引起的:一、代码只支持高版本IE不支持低版本IE 二、代码只支持低版本IE不支持高版本IE(这个比较少但也存在,主要是一些老的系统)。

常规解决方法

通过在jsp页面增加meta的方式来实现兼容。

兼容高版本IE

如果系统只支持低版本的IE,但是用户的电脑的IE版本比较高,可以限定浏览器对文档的解析到某一特定版本,或者将浏览器限定到一些旧版本的表现中。可以用如下的方式:

<meta http-equiv="x-ua-compatible" content="IE=EmulateIE9" >

<meta http-equiv="x-ua-compatible" content="IE=EmulateIE8" >

<meta http-equiv="x-ua-compatible" content="IE=EmulateIE7" >

兼容低版本IE

系统兼容低版本IE比较困难,能做到的是指定浏览器按照最高的标准模式解析页面。主要是用来解决有些用户的电脑明明用的是IE8、IE9,但是确实用的IE7的文档模式。

<meta http-equiv="x-ua-compatible" content="IE=edge" >

通过IE嵌入谷歌插件

如果用户的电脑确实比较老,也不方便安装高版本的IE,通过常规的解决方法无法解决兼容性问题的话,可以通过嵌入谷歌插件(Google Chrome Frame),这个插件可以让用户的IE浏览器外不变,但用户在浏览网页时,实际上使用的是Google Chrome浏览器内核,而且支持IE6、7、8等多个版本的IE浏览器。需要注意的是谷歌已在2014年停止对此插件的更新,此插件的离线版本网上非常多,但是很多都用不了,博主也是找了好久才找到一个能用到,现在分享给大家:谷歌插件

安装了Google Chrome Frame插件后,可以到ie的加载项里确认下是否安装成功,安装成功后在加载项里可以看到Chrome Frame插件。

确保插件安装成功后,在需要调用谷歌页面的jsp页面的head下增加如下的meta,这样写可以达到的效果是如果安装了GCF,则使用GCF来渲染页面,如果没安装GCF,则使用最高版本的IE内核进行渲染。

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

通过谷歌嵌入IE插件

谷歌其实也出过支持IE的插件叫IEtab,安装IEtab后在浏览器地址栏右侧会出现一个ie的图标,点击该图标能切换到ie模式来打开。这个插件其实博主不是很推荐,主要有两个原因:一、使用不方便,需要使用ie内核都需要点击一下图标 二、如果是业务系统,每次打开都相当于打开一个新的浏览器,session不会共享。

IEtab的下载地址:IE插件