首页 > 代码库 > 使用Edge模式通知Internet Explorer以最高级别的可用模式显示内容

使用Edge模式通知Internet Explorer以最高级别的可用模式显示内容

一、EasyUI$的window(‘open‘)在IE8下兼容性问题 

  今天在公司使用EasyUI的$(‘#win‘).window(‘open‘);方法打开一个window窗体时发现EaysUI的脚本在IE8下执行时出现不兼容的情况

HTML代码如下:

 1 <a href="javascript:void(0);" class="easyui-linkbutton" onclick="$(‘#batchImportUser‘).window(‘open‘)">批量导入用户</a> 2  3 <div id="batchImportUser" class="easyui-window" title="批量导入用户" 4             style="width: 600px; height: 200px" 5             data-options="iconCls:‘icon-save‘,modal:true,collapsible:false,minimizable:false,closed:true"> 6             <div align="center"> 7                 请选择部门:<input id="orgId1" name="orgId1" class="easyui-combotree" style="width:150px;"> 8                 <input type="hidden" id="orgName1">&nbsp;&nbsp;是否覆盖:<input type="checkbox" id="override" name="override"><br/> 9                 批量导入用户:<input width="0px" type="file" id="importUser" name="importUser">10                 <input type="button" value="导入" onclick="ajaxFileUpload()">11             </div>12 </div>

  点击按钮后会执行"$(‘#batchImportUser‘).window(‘open‘)"这段代码打开easyui-window,在IE8浏览器打开的窗体如下图所示:

  

而在火狐和google下打开的window窗体是可以正常显示,如下图所示:

  

  郁闷啊,在IE8下居然是这样的效果,查了一下原因,原来是IE8解析页面的HTML内容和执行JavaScript脚本时使用了去解析了

  

  改成用模式去解析就可以正常打开了

二、解决办法

  找出了问题所在,下面记录一下解决的办法,在页面的head标签里面加上下面的一段代码:

1 <head>2     <meta http-equiv="X-UA-Compatible" content="IE=edge" >3 </head>

  这段代码的意思是"使用Edge模式,通知InternetExplorer浏览器以最高级别的可用模式显示内容",这样在IE8下就会模式去解析HTML和执行JavaScript脚本了,这样就可以正常打开window窗体了,如下图所示:

  

  有时候这种浏览器解析模式真的是很坑人的,老是以为是自己的代码写得有问题,但其实却是浏览器的解析模式造成的,这些小细节的东西还是得记录一下,以后再遇到类似的情况就可以知道如何去解决了!