使用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窗體了,如下圖所示:

  

  有時候這種瀏覽器解析模式真的是很坑人的,老是以為是自己的代碼寫得有問題,但其實卻是瀏覽器的解析模式造成的,這些小細節的東西還是得記錄一下,以后再遇到類似的情況就可以知道如何去解決了!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM