【发布时间】:2018-09-17 10:41:17
【问题描述】:
我有一个应该获取 URL 参数的函数,但它只在 IE(使用 11)中中断。我最初认为这是因为一些较新的 ES6 特性和语法,所以为 ES5 编写了它。但是它仍然无法正常工作。有谁知道可以做些什么或修复什么来使这项工作在一个非常古老的遗留项目上工作。我确实尝试了来自 MDN 的用于 Object.Assign 的 polyfill。
ES6:
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];
};
ES5 版本:
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];
};
感谢任何建议
【问题讨论】:
标签: javascript url ecmascript-6 ecmascript-5