Download as rtf, pdf, or txt
Download as rtf, pdf, or txt
You are on page 1of 2

<script>

function parseQuery(qstr) {
var query = {};
var a = (qstr[0] === '?' ? qstr.substr(1) : qstr).split('&');
for (var i = 0; i < a.length; i++) {
var b = a[i].split('=');
query[decodeURIComponent(b[0])] =
decodeURIComponent(b[1] || '');
}
return query;
}

function encodeQuery(obj) {
var str = [];
for (var p in obj)
if (obj.hasOwnProperty(p)) {
str.push(encodeURIComponent(p) + "=" +
encodeURIComponent(obj[p]));
}
return str.join("&");
}

function addQueryParameterToDomain(key, value) {


var links = document.querySelectorAll('a[href]'),
linksLength = links.length,
index,
queryIndex,
queryString,
query,
url,
domain,
colonSlashSlash;

for (index = 0; index < linksLength; ++index) {


url = links[index].href,
queryIndex = url.indexOf('?'),
colonSlashSlash = url.indexOf('://');

domain = url.substring(colonSlashSlash + 3);


domain = domain.substring(0, domain.indexOf('/'));

if (queryIndex === -1) {


url += '?' + key + '=' + value;
} else {
queryString = url.substring(queryIndex);
url = url.substring(0, queryIndex);
query = parseQuery(queryString);

query[key] = value;

url += '?' + encodeQuery(query);


}

links[index].href = url;
}
}

function addQuery(item) {
var arr = item.split('=');
if(arr[0] != null && arr[1] != undefined) {
addQueryParameterToDomain(arr[0], arr[1]);
}
}

jQuery(function() {
var url = window.location.search.replace("?", "");
var itens = url.split('&');
itens.forEach(addQuery);
});
</script>

You might also like