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

使用AJAX请求时使“浏览器后退”按钮起作用

符允晨
2023-03-14
问题内容

我正在编写一个Web应用程序,该应用程序使用AJAX检索大量数据,该AJAX基本上根据用户单击的按钮修改了加载的页面(假设单击button1会将页面从state0转到state1,依此类推。)

此外,如果将按钮号作为GET变量传递给服务器,则服务器将返回正确状态的页面。

不用说,后退/前进浏览器按钮不起作用,因为在通过AJAX完成状态更改期间URL不会更改。

所以,我的问题是,如何使浏览器的后退/前进按钮起作用?

每次状态更改时,是否可以向浏览器提供正确的URL;但是阻止页面重新加载?

请注意,此问题仅与浏览器的后退/前进按钮有关。我可以创建自定义的后退/前进按钮,但这不是我想要的。


问题答案:

图例-有许多可能的解决方案,我将查看以下历史记录插件中的一个:

历史记录遥控器
jQuery History插件
深度链接插件
他们有些烦躁,但是您应该能够掌握一些积极的东西。我还要补充一点,这可以通过将动态元素存储在cookie中并以某种方式重新填充来完成。查看jQuery Cookie插件。希望对您有所帮助。


提示:使用哈希人!(window.location.hash就是)



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

  • 问题内容: 我正在用php做在线测验应用程序。我想限制用户再次参加考试。我尝试了以下脚本,但是它停止了我的计时器。我该怎么办? 我已经包含了源代码。计时器存储在cdtimer.js中 我有一个考试计时器,该计时器从 mysql 值中获取考试时间。计时器相应地启动,但是当我放入用于禁用后退按钮的代码时,计时器停止。我怎么了 问题答案: 有许多原因导致禁用后退按钮无法真正起作用。最好的选择是警告用户:

  • 问题内容: 如何禁用浏览器的“后退”按钮(跨浏览器)? 问题答案: 这个问题是非常相似,这一个 … 您需要强制缓存过期才能正常工作。将以下代码放在页面代码后面。

  • 本文向大家介绍如何禁止浏览器使用后退按钮功能,包括了如何禁止浏览器使用后退按钮功能的使用技巧和注意事项,需要的朋友参考一下 本文介绍可找到的各种禁用浏览器后退按钮方案,分析它们各自的优缺点和适用场合。 一、概述    曾经有许多人问起,“怎样才能‘禁用'浏览器的后退按钮?”,或者“怎样才能防止用户点击后退按钮返回以前浏览过的页面?”在ASP论坛上,这个问题也是问得最多的问题之一。遗憾的是,答案非常

  • 问题内容: 使用Javascript或AngularJS控制或禁用浏览器后退按钮 在这里我不是在问一个问题,但我想展示一个解决方案,以解决您使用AngularJS甚至Javascript时如何禁用和控制浏览器的后退按钮 问题答案: 如果您仅使用Javascript,则可以通过以下链接检查如何禁用“后退按钮”: http://jordanhollinger.com/2012/06/08/disabl

  • 问题内容: 我已经建立了一个一页的网站。当用户单击菜单按钮时,内容将使用ajax加载。它工作正常。为了改善SEO并允许用户复制/过去不同内容的URL,我使用 它工作正常。URL更改并且浏览器没有重新加载页面 但是,当用户单击浏览器中的后退按钮时,URL会更改,并且必须加载内容。 我已经做到了,它的工作原理是: 您知道是否有改进此代码的方法吗? 问题答案: 我所做的是将对象文字传递给页面加载。这样,