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

保留页面状态以使用浏览器后退按钮进行访问

司徒焕
2023-03-14
问题内容

我有一个页面可以根据用户按下按钮来动态加载内容:

${document).ready(function)
{
    $("#myButton").click(function()
    {
        $("#dynamicDiv").load("www.example.com");
    });
}

动态内容运行良好,我可以整天获取页面。但是,当您链接到另一个页面的链接,然后按浏览器的“后退”按钮返回该页面后,该页面将完全重置,就好像从未加载任何动态内容一样。

我发誓以前见过不同的行为,但也许我疯了。浏览器是否应该保留页面状态,而不是重新呈现它?

编辑:顺便说一句,我正在使用播放!框架,如果有关系的话。


问题答案:

浏览器将在首次接收页面时加载它。通过javascript完成的任何DOM修改都不会保留。

如果要保留修改,则必须做一些额外的工作。修改DOM后,使用标识符稍后更新URL哈希,您可以稍后解析并重新创建修改。每次加载页面时,您都需要检查是否存在哈希,并根据标识符进行DOM修改。

例如,如果您正在动态显示用户信息。每次显示一个时,您都将url哈希更改为以下形式:“#/ user /
john”。每当页面加载时,您都需要检查哈希是否存在( window.location.hash ),对其进行解析并加载用户信息。



 类似资料:
  • 我是一个react初学者,我有一个使用react路由器(4.2.2)、Redux的项目,我最近添加了react路由器Redux,希望它能解决我的问题。我有一些组件,它们的redux存储状态需要根据与浏览器后退和前进按钮的交互进行更改。 例如,我有一个屏幕,其中包含用户单击的元素的详细信息。如果我使用browser back(浏览器返回)按钮并导航到历史上打开该详细信息视图的另一个点,它将只显示最新

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

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

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

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

  • 问题内容: 我在aspx页面的c#中使用asp.net和c#,在此面板中有一个更新面板,我有一些指向其他站点的链接,这些链接在同一窗口中打开。在单击这些链接后,当我通过浏览器的后退按钮返回时,在更新面板上没有得到相同的结果… 问题答案: 我已经在以下文章中实现了相同的方法,如果您需要进一步的帮助,请Plz告诉我,我将提供代码 http://rchern.wordpress.com/2008/05/