1

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

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

我的问题是:当我关闭大图像时,我想从页面中删除这个新网址。我怎么能做这个,不使用

window.history.back();

?

谢谢。

4

1 回答 1

1

关闭图像按下浏览器中的后退按钮不同。这类似于跟随另一个链接返回原始页面。所以没有必要回去。再pushState一次,回到原来的 URL。

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

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

阅读有关 HTML5 历史 API 的更多信息

于 2013-01-05T19:49:59.447 回答