没有哈希的Url更改

url change without hash

本文关键字:Url 更改 哈希      更新时间:2023-09-26

我想改变url时,我打开大图在弹出窗口与预览图像的当前页面。我不想使用window.location.hash功能,因为我想通过PHP下一个操作新的url,我发现这个复杂的哈希。所以,我发现我可以使用HTML5的功能来做到这一点。

window.history.pushState(“object or string”, “Title”, “/new-url”);

我的问题是:当我关闭大图时,我想从页面中删除这个新url。在不使用

的情况下,我怎么做呢?
window.history.back();

?

谢谢。

关闭图像是而不是类似于在浏览器中按后退按钮。这类似于跟随另一个链接回到原始页面。所以没必要回去了。只是pushState,回到原来的URL。

另一方面,如果用户确实在浏览器中单击了后退按钮,那么您也希望将他们带回到原始页面。因此,您需要监听popstate事件,并且,当它被触发时,运行一个函数来删除弹出图像:
window.addEventListener("popstate", function(e) {
    hideimage();
}

阅读更多关于HTML5历史API