前端开发兼容低版本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)结果会出现乱序现象。

14.IE游览器无法解析时间格式为"yyyy-MM-dd hh:mm:ss"类型的时间,显示为NaN。" yyyy/MM/dd hh:mm:ss"为主流浏览器支持的格式。

原文地址:https://www.cnblogs.com/sharpall/p/10016062.html