我有一个页面可以根据用户按下按钮来动态加载内容:
${document).ready(function) { $("#myButton").click(function() { $("#dynamicDiv").load("www.example.com"); }); }
动态内容运行良好,我可以整天获取页面。但是,当您链接到另一个页面的链接,然后按浏览器的“后退”按钮返回该页面后,该页面将完全重置,就好像从未加载任何动态内容一样。
我发誓以前见过不同的行为,但也许我疯了。浏览器是否应该保留页面状态,而不是重新呈现它?
编辑:顺便说一句,我正在使用播放!框架,如果有关系的话。
浏览器将在首次接收页面时加载它。通过javascript完成的任何DOM修改都不会保留。
如果要保留修改,则必须做一些额外的工作。修改DOM后,使用标识符稍后更新URL哈希,您可以稍后解析并重新创建修改。每次加载页面时,您都需要检查是否存在哈希,并根据标识符进行DOM修改。
例如,如果您正在动态显示用户信息。每次显示一个时,您都将url哈希更改为以下形式:“#/ user / john”。每当页面加载时,您都需要检查哈希是否存在( window.location.hash ),对其进行解析并加载用户信息。