我使用此代码来处理http://stackoverflow.com/a/10997390/11236中的内容fadeIns
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');
我使用以下方式更新网址:
window.history.replaceState('', '', updateURLParameter(window.location.href, "param", "value"));
它更改为我想要的URL-但未保存在URL历史记录中。因此,如果我以此更改URL并单击“后退”按钮,则该URL不会更改为最后一个状态。
但是我认为这是history.pushState在做什么?要在历史记录中保存URL,我需要更改什么?因此,当用户单击“后退”按钮时,内容会根据URL(如正常的URL路径)而变化。