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

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

时间: 2024-12-22 09:14:17

前端开发兼容低版本IE注意事项的相关文章

GridView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE_MODAL)不兼容低版本系统解决方案

项目开发中需要使用GridView批处理操作,多项选择. 但是GridView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE_MODAL)不兼容低版本. 找解决方案,查看android sdk提供的demo里介绍的GridView多项选择的方法 public class Grid3 extends Activity { GridView mGrid; @Override protected void onCreate(Bundle savedInstan

[转]AppCompat 22.1,Goole暴走,MD全面兼容低版本

AppCompat 22.1,Goole暴走,MD全面兼容低版本 分类: Android2015-04-24 09:48 1354人阅读 评论(0) 收藏 举报 android 目录(?)[+] 武侠相关的文学作品中常用“四十岁后不滞于物,草木竹石均可为剑.自此精进,渐入无剑胜有剑之境.”形容一个人的武功技艺高超,已臻化境.而我们IT工程师自身的技艺水平到达一定程度后,也会处于这种“无码胜有码”的境界.但这是什么意思呢?是说我们从此不再写代码,每天躺在床上和白花花的天花板无言对望了吗? 不是的.

android api实现高斯模糊,且兼容低版本

一.利用android api实现高斯模糊 关于高斯模糊网上已经有很多不错的文章介绍了,在这里就不重复了.先来看一个效果 效果已经看到了,就来看看怎么实现的吧.首先是实现高斯模糊的核心代码 <span style="white-space:pre"> </span>public static Bitmap blurBitmap(Bitmap bitmap, Context context) { // 用需要创建高斯模糊bitmap创建一个空的bitmap Bit

兼容低版本的array_column

//兼容低版本的array_column public function array_column($input, $columnKey, $indexKey = NULL) { $columnKeyIsNumber = (is_numeric($columnKey)) ? TRUE : FALSE; $indexKeyIsNull = (is_null($indexKey)) ? TRUE : FALSE; $indexKeyIsNumber = (is_numeric($indexKey))

模拟实现兼容低版本IE浏览器的原生bind()函数功能

模拟实现兼容低版本IE浏览器的原生bind()函数功能: 代码如下: if(!Function.prototype.bind){   Function.prototype.bind=function(oThis){     if (typeof this !== 'function'){       throw new TypeError('调用者不是当前函数对象');     }       var aArgs = Array.prototype.slice.call(arguments, 1

兼容低版本IE浏览器的边框阴影效果

兼容低版本IE浏览器的边框阴影效果:使用box-show属性可以实现边框阴影效果,但是IE8和IE8以下浏览器不支持此属性,不过可以通过以下方式实现,当然实现全兼容的方式有多种,下面是一种比较简陋的方式,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www

兼容低版本IE和非IE浏览器的事件绑定函数

我们知道为元素绑定事件可以使用addEventListener方法,但是低版本IE下是没有这个方法,这时我们就要使用attachEvent方法去兼容,可以写成下面这样: 1 /* 2 兼容低版本IE,ele为需要绑定事件的元素, 3 eventName为事件名(保持addEventListener语法,去掉on),fun为事件响应函数 4 */ 5 6 function addEvent(ele,eventName,fun){ 7 if(ele.addEventListener){ 8 ele.

兼容低版本浏览器的getElementByClassName方法

/*兼容低版本浏览器的getElementByClassName方法*/ function getElementsByClassName(root,className){ if(root.getElementsByClassName){ return root.getElementsByClassName(className); }else{ var elements=root.getElementsByTagName(); var result=[]; for(var i=0,element;

a标签内容在div中垂直居中,不兼容低版本浏览器

<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title></title></head> <style>.box{width:100px;height:200px;background:orange;border:2px solid #ccc;display: table;}.box a{dis