`
lixinlixin2008
  • 浏览: 149778 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

浏览器前进后退时表单状态的保持

阅读更多
先说一下各浏览器默认下,表单回退时的现象:

除过ff以为,其余浏览器都会保存表单的状态,
ff加<meta  http-equiv="Cache-Control"   CONTENT="private,must-revalidate">   以后也保存状态成功

Cache-Control取值有如下几个:public,private,no-cache,no-store,no-transform,must-revalidate,proxy-revalidate,max-age

Cache-Control属于http1.1范畴,主流浏览器都支持http1.1,但是貌似只有FF遵守"Cache-Control".

如果想保留表单状态,基本<meta  http-equiv="Cache-Control"   CONTENT="private,must-revalidate">就可以.

如果想重置表单,射雕兄写过一个方法如下:
   1. Safari 和 Opera 是两个极端,一个完全还原,一个完全保留。
   2. Firefox 下最简单的办法是设置 autocomplete = ‘off’ 属性。(ff2下无效)
   3. IE 必须在 setTimeout 中还原表单值才有效。
   4. Chrome 除了不支持 onpageshow, 其它表现和 Firefox 一致。


各浏览器响应Cache-Control如下:

在回退和前进时:
Cache-Control为no-store时:
FF: onload,DOMContentLoaded,页面执行代码和onpageshow都会被调用,否则只调用onpageshow(页面状态会被完美保留,类似于safari)
一种例外情况就是添加unload,有unload事件时,不管Cache-Control为何值,onload,DOMContentLoaded,页面执行代码和onpageshow都调用.

IE有没有no-store,onload都会被调用.没有onpageshow事件.
表单状态保留

chrome和IE一样.

safari:无论Cache-Control为何值,都不会触发任何onload,DOMContentLoaded,页面执行代码,(有一种例外情况,当有unload事件时,onload,DOMContentLoaded,页面执行代码都会执行)

另外,safari虽然不触发 onload,DOMContentLoaded,页面执行代码.但是页面当前状态会被完美保留(就像在两个标签页之间切换一样自然)
表单状态保留

opera:
opera和其他浏览器不同之处,每次在地址栏敲回车都算一次跳转,虽然url没变,但是历史记录却有了(刷新没事)...
Cache-Control 无论为何值,都不会触发onload,DOMContentLoaded,页面执行代码...window.onfoucs不执行
引用射雕兄的话:忘掉opera......(如果想重置表单的话)

补充本人所用浏览器:   IE7,   FF3.5.1,   safari4.0.2,   opera10 beta,     chrome2



网名:天堂左我往右
分享到:
评论
2 楼 lixinlixin2008 2009-07-26  
在前进后退时页面状态能完美保持俺觉得对用户体验会很好
比如访问google maps,当拖拽到北京时,回退和前进时,地图依然能保持在北京

不过在IE和Chrome下根本无法实现...
1 楼 zhouyrt 2009-07-23  
总结的很细致,不过没有一一测试。

相关推荐

    基于WebView的安卓android浏览器,基本功能齐全

    基于WebView的安卓android浏览器,基本功能齐全,有前进,后退,刷新,返回主页,退出,清除缓存,历史,表单等简易功能

    清除网页历史记录,屏蔽后退按钮!

    后来,看到竟然有那么多的人想要禁用这个后退按 钮,我也就释然(想要禁用的只有后退按钮,不包括浏览器的前进按钮)。因为在默认情况下,用户提交表单之后可以通 过后退按钮返回表单页面(而不是使用“编辑”按钮!...

    可以自动控制网页操作的浏览器MutouBrowser(Pro).rar

    木头多功能浏览器(专业版)可以生成自动刷新网页监控网页...11、支持自动打开、关闭浏览器标签页,浏览器自动前进后退功能; 12、浏览器自动执行自定义javascript或jquery代码。 13、可以完成复杂的网页自动控制流程。

    formwizard:基于jQuery UI的jQuery插件,可将表单转换为多步向导。 与用于提交AJAX表单的jQuery表单插件,用于客户端验证的验证插件以及用于启用浏览器后退和前进按钮的BBQ插件集成在一起

    该插件通过与以下jQuery插件集成来支持AJAX表单提交,表单验证以及浏览器的后退和前进按钮: jQuery表单 jQuery验证 用法 显然,请确保具有正确的包含-该插件已通过以下版本进行了测试,但也应与较新的版本一起...

    乙醇老师的力作57页详细讲解—webdriver实用指南java版本.docx

    • 前进和后退 • 简单的对象定位 • 定位一组对象 • 层级定位 • 操作测试对象 • send keys模拟按键输入 • 处理button group • 处理button dropdown • 处理navs • 处理面包屑 • 处理对话框新式的模态窗口 •...

    PHP防止表单重复提交的几种常用方法汇总

    特点:避免F5重复提交,消除浏览器前进和后退按钮可导致的同样问题。 3. 表单隐藏域中存放session(表单被请求时生成的标记)。采用此方法在接收表单数据后,检查此标志值是否存在,先进行删除,然后处理数据; 若不...

    C#浏览器编程,学习使用

    浏览器界面设计主要确定浏览器的页面布局,设定浏览器窗口上设置哪些功能菜单项、设置哪些功能按钮、设置哪些状态栏,它们各自的位置如何、属性如何、对应的变量如何等等。 (3)浏览器代码设计 浏览器代码设计...

    mx_2.5.12.4586cn

    内置的傲游智能加速功能可以帮助提高日常浏览和前进、后退时的速度. 通过状态栏图标开启的超级加速功能更可以大大提高部分网站的浏览速度. 智能填表 不用再为没完没了的网站注册表单而烦恼了, 具备智能识别功能...

    angular-multi-step-form:用于创建多步骤表单向导的角度模块

    前进和后退动画步骤的隔离或非隔离范围跟踪步骤有效性(如果包含表单) onCancel , onFinish和onStepChange回调使用搜索URL参数的浏览器导航您可以决定对用户公开的控制级别:下一个,上一个,跳转到状态,完成,...

    dreamweaver上PHP网站开发相关插件

    该插件的功能相当于浏览器工具栏标准按钮上的“前进”和“后退”。 IE5.5 Custom Scrollbars.mxp 用来改变IE浏览器滚动条的颜色的 Command 命令插件 Auto Default Form Field.mxp 可设置自动清除表单文本参数。...

    ajaxify_rails:Rails gem 用于自动将内部链接转换为 ajax 链接,无需重新加载整页即可加载内容

    使用 html5 历史界面来更改 url 并使浏览器的后退和前进按钮与 Ajax 一起使用。 对于没有历史记录界面的浏览器(如 Internet Explorer 版本 &lt;10),回退到基于哈希的 URL 方法。 基于哈希的 URL 和非哈希 URL ...

    PHP动态网站开发插件

    该插件的功能相当于浏览器工具栏标准按钮上的“前进”和“后退”。 IE5.5 Custom Scrollbars.mxp Download 点击下载 用来改变IE浏览器滚动条的颜色的 Command 命令插件 Auto Default Form Field.mxp Download 点击...

    mpd-web-client:基于浏览器的 MPD 前端

    目前,该界面显示当前播放列表、音量控制、播放/暂停/前进/后退控制和一个简单的搜索表单,用于将项目添加到播放列表。 目前代码有点乱,但如果你想看一看,克隆 repo 并执行以下操作: npm install 然后更改 ...

    Litepicker:日期范围选择器 - 轻量级,无依赖

    Litepicker 日期范围选择器 - 轻量级,无依赖特征无依赖单个日期或日期范围显示多个月份选择的最小/最大天数和/或选择的最小/最大日期选择前进/后退内联模式重新选择日期范围锁定天数键盘可访问性(带插件) 移动...

    400个DreamWeaver插件

    mxp/类似于浏览器的前进和后退按钮,但是可以指定每次前进的次数 mxp/将选择的一块文字变成图片 mxp/创建一个index页面,包含到站点内各个文件的连接 mxp/用来列出站点内所有文件的创建日期或者最后修改日期 mxp/...

    70款经典Dreamweaver插件

    MX143626_GoBackorForward 类似于浏览器的前进和后退按钮,但是可以指定每次前进的次数 coolborder 平时插入的表格的border又粗又难看,用这个插件插入看看边框(object) Set_IE_Scrollbars 设置IE是否出现右边的...

    Dreamweaver 插件集

    类似于浏览器的前进和后退按钮,但是可以指定每次前进的次数 coolborder 平时插入的表格的border又粗又难看,用这个插件插入看看边框(object) Set_IE_Scrollbars 设置IE是否出现右边的滚动条,可以适用于单个...

    dreamweaver网站PHP开发MXP插件

    指定页面前进后退次数插件.mxp 指定月份建立日历插件.mxp 中国省市自制区下拉菜单插件.mxp 钟表插件.mxp 重复区域交替背景色插件.mxp 专业版本分页显示.mxp 资源管理器形式下拉菜单插件.mxp 自定义尺寸窗口插件.mxp ...

    网际畅游 MyIE 3.0 源代码

    当填表时如果没有相应的表单数据则使用通用表单的数据。注:该功能不适合多人共用的电脑,以免重要数据的泄露。 快捷搜索:只要在地址栏中输入如 yahoo keyword 就可以用yahoo来搜索该keyword。 使用设置快捷搜索...

Global site tag (gtag.js) - Google Analytics