Заменить URL-адреса с помощью historypush - PullRequest
0 голосов
/ 24 мая 2019

Я использую этот код для обработки fadeIns контента из http://stackoverflow.com/a/10997390/11236

function updateURLParameter(url, param, paramVal){
    var newAdditionalURL = "";
    var tempArray = url.split("?");
    var baseURL = tempArray[0];
    var additionalURL = tempArray[1];
    var temp = "";
    if (additionalURL) {
        tempArray = additionalURL.split("&");
        for (var i=0; i<tempArray.length; i++){
            if(tempArray[i].split('=')[0] != param){
                newAdditionalURL += temp + tempArray[i];
                temp = "&";
            }
        }
    }

    var rows_txt = temp + "" + param + "=" + paramVal;
    return baseURL + "?" + newAdditionalURL + rows_txt;
}

var newURL = updateURLParameter(window.location.href, 'locId', 'newLoc');
newURL = updateURLParameter(newURL, 'resId', 'newResId');

Я обновляю URL с помощью:

window.history.replaceState('', '', updateURLParameter(window.location.href, "param", "value"));

Он меняется на URL так, как я хочу - но этоне сохраняется в истории URL.Поэтому, если я изменю URL-адрес и нажму кнопку «Назад», URL-адрес не изменится до последнего состояния.

Но я подумал, что это то, что делает history.pushState?Что я должен изменить, чтобы сохранить URL в истории?Поэтому, когда пользователь нажимает кнопку «Назад», содержимое изменяется в зависимости от URL-адреса (как обычный путь URL-адреса).

...