小编典典

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

ajax

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

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

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

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

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


阅读 240

收藏
2020-07-26

共1个答案

小编典典

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

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

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

2020-07-26