我创建了一个功能,只要用户点击新视频(不重新加载),就会更新窗口位置。我遇到的问题是我的功能无法正常工作,因为当我第一次更改URL时,我只是更改了URL,而是附加了ID。
例如,当页面首次加载时,它会触发此功能,并使URL example.com/123
正确无误,但每当有人点击另一个视频而不是使用添加到其中的新ID替换123时,它example.com/123678
。
function updatePath(uuid, title) {
if (history.pushState) {
var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + uuid;
window.history.pushState({path:newurl},'',newurl);
document.title = title + '- Video';
}
}
如何更新此功能以使其可重复使用,并替换URL的正确部分?最初我使用的是查询参数,这种方法运行良好,但我相信window.location.pathname
每次运行时都会更新,所以它没有正确替换。