IE浏览器兼容性问题,如remove、Object.assign等等

做的项目,在ie打开的时候,有几个方法并不兼容。如下。

1. Object.assign()  -- 合并对象。用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。

Object.assign() 在ie时并不兼容,如下报错。

解决:添加一个方法,可放在公用方法js文件中或者当前使用js文件中

// 合并对象
function objMerge(target, source) { 
    for (var obj in source) {
	target[obj] = source[obj];
    } 
    return target;
} 

使用:

var target = { a: 1, b: 1 };
var source = { b: 2, c: 2 };

//Object.assign(target, source);
target = objMerge(target, source)

2. remove() --用于从下拉列表删除选项。

remove() 在ie时并不兼容,如下报错。

解决:

var selectObj = $('li');
// 兼容性
try{
    selectObj.remove()
}catch(err){
    // 兼容ie									               
    selectObj.removeNode(true); 
}

 

你可能感兴趣的:(javaScript)