Javascript IE获取URL参数失败
我有一个函数,应该是获取URL参数,但只是在IE(使用11)突破。我最初认为这是因为一些较新的ES6特性和语法,所以为ES5编写了它。然而,它仍然不起作用。有人知道在一个非常古老的遗留项目上可以做什么或修复什么吗。我确实尝试了Object.Assign的多边形填充 ES6: ES5版本:Javascript IE获取URL参数失败,javascript,url,ecmascript-6,ecmascript-5,Javascript,Url,Ecmascript 6,Ecmascript 5,我有一个函数,应该是获取URL参数,但只是在IE(使用11)突破。我最初认为这是因为一些较新的ES6特性和语法,所以为ES5编写了它。然而,它仍然不起作用。有人知道在一个非常古老的遗留项目上可以做什么或修复什么吗。我确实尝试了Object.Assign的多边形填充 ES6: ES5版本: getQueryURLParams = function(pName) { var urlObject = location.search .slice(1) .split('&') .map(fun
getQueryURLParams = function(pName) {
var urlObject = location.search
.slice(1)
.split('&')
.map(function(element ) {
return element.split('=');
})
.reduce(function(obj, pair) {
const key = pair.map(decodeURIComponent)[0];
const value = pair.map(decodeURIComponent)[1];
return Object.assign({}, obj, { [key]: value });
}, {});
return urlObject[pName];
};
非常感谢您的建议。Object.assign在IE中不起作用,因为它不是ES5的一部分 在页面底部,有一个多边形填充
[键]:值
这也不是有效的ES5
你可以直接写
var result = {}
Object.keys(obj).forEach(function(k){
result[k] = obj[k];
})
result[key] = value;
return result;
var result = {}
Object.keys(obj).forEach(function(k){
result[k] = obj[k];
})
result[key] = value;
return result;