开发者社区> 问答> 正文

what happened when browser back/forward?

当一个form提交完成以后,点击浏览器的返回按钮,会发现form里的东西依然存在,页面没有刷新。但是我在form里放了一个隐藏的token,用来防止csrf用的,这个token在页面back的时候,变了不知道为什么

展开
收起
蛮大人123 2016-02-28 17:56:24 2091 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    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".

    2019-07-17 18:49:55
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
A Perfect Solution for Live Migration with Pass-through Devices 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载