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 语句, 兼容需要全局定义一个 Windows.console 方法.
13. 低版本 IE 对象遍历 (for in) 结果会出现乱序现象.
来源: https://www.cnblogs.com/sharpall/p/10016062.html