当我离开时,我有一些页面格式的问题,然后点击浏览器返回页面。
以下是一个例子:
我在下拉列表中的表单上有安全问题,如下所示:
http://i.stack.imgur.com/ib32z.jpg
当用户从下拉列表中选择[输入您自己的问题]时,我会有一些jquery动画显示向下推动表单的CSS更改,并为“自定义安全问题”显示隐藏字段。选中后,表单如下所示: http://i.stack.imgur.com/uVPKo.jpg
现在我的困境是,当我离开这个页面,然后使用浏览器后退按钮导航回来时,我的格式被搞砸了,看起来像这样:
http://i.stack.imgur.com/5Xhpi.jpg
我写的javascript不再在后退按钮上触发,因此浏览器不知道将表单向下移动以适应间距的变化。无论如何,我可以强制document.ready重新加载或清除某种缓存吗?
谢谢!
编辑:对不起,伙计们,我需要将图像重新上传到主机并重新发布。抱歉延误。答案 0 :(得分:1)
基本上有四种机制可以在网络上保持状态:
我们基本上可以抛出1和4,因为它们都过分依赖浏览器行为/支持,我们无法可靠地依赖所有浏览器来按照我们想要的方式处理它们。留下#2或#3。
Cookies允许您保存更多信息(与cookie一样多,即大约4k)。 URL允许更少的信息,但它们具有书签功能的额外好处;如果用户将URL保存为书签(或者将其发送给朋友或其他任何链接),则状态仍会保留。
所以,选择上面的内容,决定如何坚持你的“我的表格滚落”状态......然后是(我认为)你真正感兴趣的部分:你如何检查这种状态并在用户点击“返回”时解决问题?
那部分我谦卑地推迟到已经回答的另一篇SO帖子: Is there a way to catch the back button event in javascript?