Parse query string in using URLSearchParams

- I just noticed in reading the code that we parse that stuff when something exists in the web api;
 - see https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams/URLSearchParams.
This commit is contained in:
Calixte Denizet 2021-11-13 17:36:57 +01:00
parent 85c6dd59ce
commit fe95e100e4
3 changed files with 6 additions and 18 deletions

View File

@ -405,14 +405,8 @@ var Driver = (function DriverClosure() {
Driver.prototype = { Driver.prototype = {
_getQueryStringParameters: function Driver_getQueryStringParameters() { _getQueryStringParameters: function Driver_getQueryStringParameters() {
var queryString = window.location.search.substring(1); const queryString = window.location.search.substring(1);
var values = queryString.split("&"); return Object.fromEntries(new URLSearchParams(queryString).entries());
var parameters = {};
for (var i = 0, ii = values.length; i < ii; i++) {
var value = values[i].split("=");
parameters[unescape(value[0])] = unescape(value[1]);
}
return parameters;
}, },
run: function Driver_run() { run: function Driver_run() {

View File

@ -53,11 +53,8 @@ window.onload = function () {
function hashParameters() { function hashParameters() {
const query = window.location.hash.substring(1); const query = window.location.hash.substring(1);
const params = new Map(); const params = new Map();
for (const part of query.split(/[&;]/)) { for (const [key, value] of new URLSearchParams(query)) {
const param = part.split("="), params.set(key.toLowerCase(), value);
key = param[0].toLowerCase(),
value = param.length > 1 ? param[1] : "";
params.set(decodeURIComponent(key), decodeURIComponent(value));
} }
return params; return params;
} }

View File

@ -187,11 +187,8 @@ function watchScroll(viewAreaElement, callback) {
*/ */
function parseQueryString(query) { function parseQueryString(query) {
const params = new Map(); const params = new Map();
for (const part of query.split("&")) { for (const [key, value] of new URLSearchParams(query)) {
const param = part.split("="), params.set(key.toLowerCase(), value);
key = param[0].toLowerCase(),
value = param.length > 1 ? param[1] : "";
params.set(decodeURIComponent(key), decodeURIComponent(value));
} }
return params; return params;
} }