我目前正在使用一个页面来生成一个新窗口,其中包含一个定时回放URL。它加载的许多页面都响应哈希导航。我这样做:
window.open(url,"playback");
当我们浏览网址时,我们应该看到网页会相应地做出响应。然而,我遇到的问题是,当更改哈希时,window.open()调用实际上会重新加载页面。
例如,加载“ pageA.htm ”,然后“ pageB.htm#tab2 ”完美无缺。但问题是,当我尝试从“ pageB.htm#tab2 ”转到“ pageB.htm#tab3 ”时;页面重新加载(正确响应哈希)而不是像我期望的那样只是触发“onhashchange”。
我是否应该调用window.open()来替换仅哈希的更改,这会阻止整页重新加载?
编辑:最终解决方案如下所示:
playbackWindow = window.open(url,"playback");
然后当我们想要更改哈希时:
playbackWindow.location.href = "poundIt";
答案 0 :(得分:2)
如果不重新加载页面,则无法使用window.open
更改哈希值。只需更改window.location.hash
的值即可。
答案 1 :(得分:0)
window.location.hash = "This";
应该这样做。