一、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"> 是否覆蓋:<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窗體了,如下圖所示:
有時候這種瀏覽器解析模式真的是很坑人的,老是以為是自己的代碼寫得有問題,但其實卻是瀏覽器的解析模式造成的,這些小細節的東西還是得記錄一下,以后再遇到類似的情況就可以知道如何去解決了!
