1. 程式人生 > >前端開發相容低版本IE注意事項

前端開發相容低版本IE注意事項

1.如果要在地址中使用中文引數的話,使用encodeURIComponent()對中文進行編碼,否則在老版本的IE中可能出現地址錯誤(400)。


2.在任何業務情況下,後臺傳過來,前端解析的引數都要明確的值,即使是‘’或者[],儘量不要存在null,如果可能會出現不同的物件走同一條業務流程,加上if("undefined"!==typeof obj.xxx){},不要出現未定義的物件,它會使低版本的IE報錯。


3.當前使用的使IE8相容placeholder屬性的placeholder.js,在IE8中會使input的值變為提示資訊,注意進行判斷。


4.使用arcgis時,不要把地圖id定義為'map'。


5.儘量不要使用敏感的字元作為物件,比如’import‘,如果一定要用,使用obj['import']進行引用,不要使用obj.import。


6.初始化UEeditor插入內容時不能直接插入內容(較長的非同步初始化),需要在ready之後進行新增UE.getEditor('zym').addListener("ready", function (){UE.getEditor('zym').setContent('');});

   當UEeditor與彈出框結合使用時可能出現設定內容沒有顯示的bug,此時可以試試setTimeout延時新增內容。

7.在不支援fixed的ie8中使用layer的iframe彈窗可能出現滾動條自動回到頂部的bug,這時可以延 時執行一個函式將滾動條拉回來。(這種方式可能會造成頁面閃動)。


8.當使用ellipsis樣式的時候在標籤中新增title屬性。


9.低版本ie上可能出現選定input時游標跳到最前的bug,此時可以新增focus監聽事件根據輸入值移到最後。


10.任何完整的js語句之後都應該加‘;’,否則壓縮後的js或低版本的IE會因此報錯。


11.IE8不支援rgba顏色格式,要加透明度請使用opacity屬性。


12.低版本IE並不支援console語句,相容需要全域性定義一個window.console方法。


13.低版本IE物件遍歷(for in)結果會出現亂序現象。