微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-前进和后退按钮来控制ajax加载

你好,

我正在寻找一种解决方案,其中后退和前进按钮控制我的ajax调用历史记录.

因此,如果我要进行ajax调用,然后按“返回”,我想重新加载原始页面.

如果我先执行ajax调用,然后再执行另一个,然后按“后退”按钮,我想再次执行第一个ajax调用.

依此类推…(即如果我现在按下前进按钮,则重做第二个ajax coll shell ;-))

谢谢

更新

好吧,我使用名为jQuery Address的非常漂亮的jquery插件解决了整个问题,并且效果很好.

事实是,我有麻烦要在原始站点上使用.我导航到mysite.foo/step1,然后触发ajax调用,然后降落在maysite.foo/step1#/#step2上,当我现在按“返回”按钮时,我将停留在该站点及其内容(属于step2),无法获取有关我原始目标网页的信息,请重新加载该信息…

修正:我有一个数组,我在其中存储由步骤2索引的ajax调用.

step1 : {id: 1, url: /ste1.PHP, ... },
step2 : {id: 2, url: /step2.PHP, ... },...

还有一个设置哈希值的函数调用ajax请求.

解决方法:

您应该将ajax“状态”保存在文档位置哈希(即http://page-url#ajax-state)中.

如果仅修改哈希组件,浏览器将不会重新加载页面,但浏览器历史记录将记录URL的更改.因此,当您按回来时,您将能够基于存储在文档哈希中的信息来重播ajax调用.

另请参阅以下问题:
Detecting Back Button/Hash Change in URL

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐