网址更改没有哈希

时间:2013-01-05 19:42:04

标签: javascript html5 url history

当我在带有预览图像的当前页面的弹出窗口中打开大图像时,我想更改URL。我不想使用window.location.hash功能,因为我想通过PHP操作新的url然后我发现这个复杂的使用hash。所以,我发现我可以使用HTML5功能来实现这一点。

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

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

的情况下完成此操作
window.history.back();

感谢。

1 个答案:

答案 0 :(得分:1)

关闭图像类似于在浏览器中按后退按钮。它类似于跟随另一个链接回原始页面。所以没有必要回去。再次pushState,返回原始网址。

另一方面,如果的人点击浏览器中的后退按钮,您也希望将它们带回原始页面。所以你需要监听popstate事件,当它被触发时,运行一个将删除弹出图像的函数:

window.addEventListener("popstate", function(e) {
    hideimage();
}

阅读more about the HTML5 history API