【问题标题】:javascript:history.back() and previous page refreshjavascript:history.back() 和上一页刷新
【发布时间】:2012-11-22 09:49:13
【问题描述】:
我的页面上有按钮<span id="back" class="button" onclick="location.href='javascript:history.back()';",它工作正常,但我需要它来刷新上一页。问题是,history.back() 对我来说只是可接受的方式,window.refferer 没有帮助。我已经尝试了一些使用元标记的技巧,但仍然没有。
【问题讨论】:
-
你不能只传递上一页作为查询参数,比如?back=index/fr,然后使用常规的链接吗?
标签:
javascript
refresh
history
【解决方案1】:
如果您使用的是 HTML 5,则可以使用 the popstate event
在导航到会话历史条目时,在某些情况下会触发 popstate 事件。
但我认为在以前的版本中没有办法做到这一点。
浏览器不知道您通过history.back() 到达了一个页面——没有您可以从 javascript 引用的触发事件(在 HTML 5 之前)
【解决方案2】:
MDN:请注意,在调用 pushState() 后浏览器不会尝试加载此 URL
什么工作组:
由于这既不是浏览上下文的导航,也不是历史遍历,因此不会触发 hashchange 事件。
它(popstate 事件)被触发的情况可能与会话历史记录中的当前条目表示非 GET 请求有关