Как заменить параметр URL с помощью javascript / jquery? - PullRequest
47 голосов
/ 24 августа 2011

Я искал эффективный способ сделать это, но не смог его найти, в основном мне нужно, чтобы этот URL, например, был:

http://localhost/mysite/includes/phpThumb.php?src=http://media2.jupix.co.uk/v3/clients/4/properties/795/IMG_795_1_large.jpg&w=592&aoe=1&q=100

Я хотел бы иметь возможность изменить URL-адрес в параметре src на другое значение, используя javascript или jquery, это возможно?

Заранее спасибо.

Ответы [ 12 ]

0 голосов
/ 14 апреля 2014

В дополнение к @stenix, это отлично сработало для меня

 url =  window.location.href;
    paramName = 'myparam';
        paramValue = $(this).val();
        var pattern = new RegExp('('+paramName+'=).*?(&|$)') 
        var newUrl = url.replace(pattern,'$1' + paramValue + '$2');
        var n=url.indexOf(paramName);
        alert(n)
        if(n == -1){
            newUrl = newUrl + (newUrl.indexOf('?')>0 ? '&' : '?') + paramName + '=' + paramValue 
        }
        window.location.href = newUrl;

Здесь нет необходимости сохранять переменную "url", просто заменить текущую ссылку

0 голосов
/ 24 августа 2011

Как насчет этого:

<script>
function changeQueryVariable(keyString, replaceString) {
    var query = window.location.search.substring(1);
    var vars = query.split("&");
    var replaced = false;
    for (var i = 0; i < vars.length; i++) {
        var pair = vars[i].split("=");
        if (pair[0] == keyString) {
            vars[i] = pair[0] + "="+ replaceString;
            replaced = true;
        }
    }
    if (!replaced) vars.push(keyString + "=" + replaceString);
    return vars.join("&");
}
</script>
...