Jquery / javascript检测并捕获页面刷新事件?

我有一个AJAXed页面,但我还向用户提供了一个查询字符串,以便他/她可以在URL中输入查询字符串以再次查看同一页面. (想想谷歌地图及其“分享链接”功能).

当AJAX请求发生时,我更新呈现给用户的查询字符串,但实际的URL不会更改.问题是,如果用户刷新页面,则从AJAX创建的所有DOM元素都会消失.

我想要做的是让javascript捕获刷新事件,而不是刷新页面,将用户重定向到页面加上查询字符串.

即如果查询字符串是:?data = blah& stuff = bleh

然后刷新将引导用户访问www.example.com/?data=blah\u0026amp;stuff=bleh而不是刷新页面回到www.example.com

解决方法:

你不能改变查询字符串…没有浏览器实际离开页面并获取一个新的(有点杀死AJAX点).

你可以去哈希,比如:www.example.com/#data=blah\u0026amp;stuff=bleh

在你的脚本中只需设置window.location.hash,例如:

window.location.hash = "data=blah$stuff=bleh";

当您的页面加载时,您需要实际使用哈希…例如:使用它作为数据参数来执行您之前进行的相同AJAX调用.

上一篇:android – 如何使用OnItemClick刷新ListView中单行的内容


下一篇:javascript – PHP刷新表,无需刷新整个页面