当前位置: 首页 > 面试题库 >

前进和后退按钮以控制ajax加载

吴鸿彩
2023-03-14
问题内容

你好,

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

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

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

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

谢谢

更新

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

事实是,我有麻烦要在原始站点上获得贝克。我导航到,mysite.foo/step1然后触发ajax调用,然后我登陆maysite.foo/step1#/#step2,当我现在按下“后退”按钮时,我停留在该网站上(其内容为步骤2),并且我无法获取有关我的原始目标网页的信息,因此无法重新加载…

修正:我有一个数组,在其中存储由step2索引的ajax调用。

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

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


问题答案:

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

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



 类似资料:
  • 问题内容: 如果javascript修改了页面A中的DOM,则用户导航到页面B,然后单击返回按钮返回页面A。页面A对DOM的所有修改都将丢失,并且向用户显示最初从服务器检索到的版本。 它可以在stackoverflow,reddit和许多其他流行的网站上以这种方式工作。(尝试向该问题添加测试评论,然后导航至其他页面并单击“返回”按钮以返回- 您的评论将“消失”) 这很有意义,但是某些网站(appl

  • 问题内容: 我在www.darknovagames.com上运行了基于浏览器的游戏。最近,我一直在努力使用CSS重新格式化该网站,试图让其所有页面都根据HTML标准进行验证。 我一直在想着要在页面左侧放置AJAX导航菜单的想法(而不是每次都将用户带到一个单独的页面,而是需要重新加载标题和导航栏,而这几乎是不会改变的),我知道如果这样做,我可能会破坏浏览器中的“前进/后退”按钮。我的问题是,我应该继

  • 问题内容: 我正在尝试在3个不同的图像之间来回切换按钮,但该按钮在上一个图像中没有回来,只是前进到下一个图像,有人可以帮我吗? 问题答案: 这是我想出的。 基本上,我们有一个循环,可根据所需反应检查每个反应,然后删除旧消息并发送新消息(如果我们看到了所寻找的反应之一)。 有人要求提供一种用于编辑消息的版本,而不是发送新消息,我也将其更新为最新版本:

  • 问题内容: 我有一个使用哈希导航的ajax webapp(JSF 2.0)。 我已在此答案的帮助下使用了事件触发功能,并在较旧的浏览器(主要是IE6 + 7)中检查了值的变化。 执行此操作的Javascript代码: 这很好。意思是,当我更改哈希值时,AJAX应用会获取通知并进行更新。IE 6/7是其中一个无效的实例。当我按下“后退/前进”按钮时,我可以看到URL栏已使用正确的哈希值更新,但似乎没

  • 我正在使用android 2.1,希望在Mapsavity上添加一个后退按钮。我在这一页上尝试了什么[在操作栏上显示后退按钮,但应用程序崩溃。我已经按照另一个论坛的建议将extends FragmentActivity替换为AppCompatActivity,但应用程序仍然崩溃。我知道这与操作栏有关,因为如果我删除它,应用程序就会工作。操作栏似乎为空。我被卡住了,已经启动了应用程序数次。下面是错误

  • 问题内容: 我正在使用pushState为网站上的Ajax内容创建有意义的URL。我想在用户单击前进或后退按钮时刷新Ajax内容。但是我遇到了问题,因为Chrome(正确)在“历史记录遍历”(前进/后退按钮)和“结束”(页面加载)上都暗示了onpopstate。我想创建一个区分页面加载和历史遍历的onpopstate处理程序,因为如果已经成功加载Ajax内容,我就不希望刷新它。有人可以帮助我区分两