2013-01-05 69 views
1

我想在当前页面的预览图像的弹出窗口中打开大图时更改网址。我不想使用window.location.hash功能,因为我想通过PHP接下来使用新的URL进行操作,并且我发现这个复杂的东西使它成为散列。所以,我发现我可以使用HTML5功能来做到这一点。无哈希值的网址更改

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

我的问题是:我想从页面中删除这个新的url,当我关闭大图像。我怎样才能做到这一点,而不使用

window.history.back(); 

谢谢。

+1

我依稀记得它叫'流行状态'。尝试使用该短语搜索。 – TRiG

回答

1

关闭图像是而不是类似于在浏览器中按下后退按钮。这类似于追溯到原始页面的另一个链接。所以没有必要回去。只需pushState再回到原始网址。

另一方面,如果人确实单击浏览器中的后退按钮,您希望将它们还原到原始页面。所以你要听的popstate事件,并且,当它的发射,运行一个函数,它会删除弹出图像:

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

more about the HTML5 history API

+0

我正在寻找window.history.pushState(“object or string”,“Title”,“original url”);但我不知道如何做到这一点?这不起作用window.history.pushState(“对象或字符串”,“标题”,“原始”“); –

+0

是的,这应该做到这一点。 –