84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
当一个form提交完成以后,点击浏览器的返回按钮,会发现form里的东西依然存在,页面没有刷新。
但是我在form里放了一个隐藏的token,用来防止csrf用的,这个token在页面back的时候,变了,变了。。。
不知道为什么。。。
光阴似箭催人老,日月如移越少年。
1.关于token改变的问题
不同浏览器处理后退的一些异同
IE8点后退时会触发之前页面的window.onload事件,计数器回到初始状态重新计数;Opera9.6后退时不会触发前一个页面的window.onload事件,但定时器停止运行;其它浏览器后退时都不会触发前一个页面的window.onload事件,定时器会接着之前的状态继续计数。
于是我猜token改变是因为执行了onload事件。
2.关于form里的东西依然存在的问题
浏览器前进后退时表单状态的保持
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".
此外,下面提到了如何重置表单,顺便提了一下各浏览器对Cache-Control的响应状况。
不知道这两篇文章能不能解决你的疑问? 个人认为,针对表单这种东西,页面改变之后就应该清空了。。。。//因为我有个添加成员的页面,添加完成之后用的是后退而不是跳转,后来人家向我抱怨之后我才改的跳转/_\
1.关于token改变的问题
不同浏览器处理后退的一些异同
于是我猜token改变是因为执行了onload事件。
2.关于form里的东西依然存在的问题
浏览器前进后退时表单状态的保持
此外,下面提到了如何重置表单,顺便提了一下各浏览器对Cache-Control的响应状况。
不知道这两篇文章能不能解决你的疑问?
个人认为,针对表单这种东西,页面改变之后就应该清空了。。。。//因为我有个添加成员的页面,添加完成之后用的是后退而不是跳转,后来人家向我抱怨之后我才改的跳转/_\