在ajax中保存历史记录
我在我的网站中使用ajax。 当用户输入查询并选择类别时,我使用 ajax 使用服务器获取的内容更新页面。 此外,我使用哈希值更新 URL,该哈希值显示由 &
分隔的查询和类别。
我想做的是,当按下浏览器后退按钮时,我想显示以前的结果而不重新加载。
我得到的是具有先前值的 URL,但结果没有更新。 我怎样才能改变这一点? 谁能帮我?
I am using ajax in my site. When a user enters a query and selects a category, I update the page with server fetched content using ajax. In addition I update the URL with a hash value which shows the query and the category separated by a &
.
What I want to do is to make it so when the browser back-button is pressed I want to display the previous result without reloading.
What I am getting is that URL that has the previous values, but the result is not updating. How can I change that? Can any one help me?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
简短的答案是使用 uri 的 #hash 部分,这部分如果更新不会刷新页面,并且在大多数浏览器中会创建历史记录检查点,但是在大多数浏览器中说,意味着 IE6 不支持,我想想IE7。
另一种方法是,当您检测到 IE 时,您可以嵌入一个 1 像素 iframe 并将其源设置为您域中的页面,然后让您的 javascript 设置其 ? url 的一部分,以便页面刷新,在这种情况下 IE 将保存历史记录点。
中得到解决
这个问题在IE8示例
http ://codinginparadise.org/weblog/2005/08/ajax-tutorial-tale-of-two-iframes-or.html
The short answer would be use the #hash part of the uri, this part if updated doesn't refresh the page, and in most browsers makes a history checkpoint, however by saying in most browsers, means that no support in IE6, and I think IE7.
The other way is when you detect IE, you can embed a 1 pixel iframe and set it's source to a page on your domain, and make your javascript sets its ? part of the url so the page refreshes, and in this case IE will save history point.
This problem is solved in IE8
Example
http://codinginparadise.org/weblog/2005/08/ajax-tutorial-tale-of-two-iframes-or.html