Skočiť na hlavný obsah

Ako zmeniť v jQuery parameter v URL adrese?

V dnešnom príspevku si ukážeme kúsok kódu, ktorý je ale skutočne efektívny a užitočný pri tvorbe web stránok. V tomto kóde vieme zmeniť parameter v URL adrese pomocou jQuery bez načítania stránky.

 

function getURLParameter(name) {
        return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""]) 
        [1].replace(/\+/g, '%20'))||null;
}

  
function changeUrlParam (param, value) {
        var currentURL = window.location.href+'&';
        var change = new RegExp('('+param+')=(.*)&', 'g');
        var newURL = currentURL.replace(change, '$1='+value+'&');

        if (getURLParameter(param) !== null){
            try {
                window.history.replaceState('', '', newURL.slice(0, - 1) );
            } catch (e) {
                console.log(e);
            }
        } else {
            var currURL = window.location.href;
            if (currURL.indexOf("?") !== -1){
                window.history.replaceState('', '', currentURL.slice(0, - 1) + '&' + param + '=' + value);
            } else {
                window.history.replaceState('', '', currentURL.slice(0, - 1) + '?' + param + '=' + value);
            }
        }
}

// použitie
changeUrlParam('nazovParametra','hodnota');