大型门户网站开发/关键词推广计划
问题场景
当从主页面跳转到一个表单页面,填写完表单提交之后,跳转提交成功页,此时点浏览器或手机端的返回按钮时,此时返回的是仍是已填写完毕表单页面,此时需求是跳转主页面,但是浏览器(手机端)返回按钮的跳转事件又不可控,就出现了这个问题。
解决思路
首先分析浏览器(手机端)页面跳转及返回按钮的原理,原理很简单。
原理: 当第一次从一个页面跳转到另一个页面时,后台会读取html、jsp等文件,然后加载到缓存里,当点击回退按钮的时候,实际上是读取缓存的内容,并不会重新加载js等,所以会出现点回退按钮不触发js方法。
解决:既然回退时是读取的js里的内容,那我们就根据这点来进行判断,当读取缓存时,跳转首页,不是读取缓存(第一次进入)时,不执行操作。
js代码
window.onpageshow = function(e){if(e.persisted){ // 是读取缓存window.location.href = "../index.html"; // 要执行的操作,跳转首页等}}
---------------------------------------后来测试发现安卓会无效,故又发现了以下多种方式。。。---------------------------------------
表单提交后,浏览器(手机端)返回仍会返回到表单页修改(二)