blob: 5fa3a4c69d36d327502fe2817d56a09e51a6e16c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
function getUrlParameter(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
}
/**
* @param {Object} params - url keys and value to merge
* @param {String} url
*/
function mergeUrlParams(params, url){
var newUrl = decodeURIComponent(url);
Object.keys(params).forEach(function(paramName) {
var pattern = new RegExp('\\b('+paramName+'=).*?(&|$)')
if (url.search(pattern) >= 0){
newUrl = newUrl.replace(pattern,'$1' + params[paramName] + '$2');
} else {
newUrl = newUrl + (newUrl.indexOf('?') > 0 ? '&' : '?') + paramName + '=' + params[paramName]
}
});
return newUrl;
}
|