我有A,B两个页面,点击A页面里的一个按钮,然后页面跳转到B页面,
在B页面里,手动刷新一下,然后再跳转回A页面,请问这个可以实现吗?怎么实现?
你的问题不明确啊,首先点击A页面的按钮跳转到B页面,那b页面是另外一个窗口吗。还是只是一个窗口,你的问题其实是,怎么再次从B页面调转到原来的A页面吗?
如果是这样的话,你调转到B页面的时候把A页面的url放到B页面的url上,然后在B页面获取Url的参数(A页面的url),然后进行跳转就行了。
最简单的实现方式,在页面顶一个参数,比如
var LoaderTag = false;
window.onload = function(){
LoaderTag = true;//页面加载完成设置成true
}
window.onbeforeunload = function(){
if(LoaderTag){//页面刷新时如果此参数为true表示是用户在操作页面刷新
//执行跳转动作
}
}
// a 页面
<input type="button" onclick="fn()" value="按钮" />
<script type="text/javascript">
function fn(){
window.location.href = 'b.html';
sessionStorage.flag = 'true';
}
</script>
// b 页面
<h3>b页面</h3>
<script type="text/javascript">
if (sessionStorage.flag === 'true'){
sessionStorage.flag = 'refresh';
}
else if (sessionStorage.flag === 'refresh'){
sessionStorage.flag = '';
window.location.href = 'a.html';
}
</script>
赞同楼上@tudewutong的说法,必须得做成单页面应用。另外附上张鑫旭大神的文章,介绍了一个很好的解决方案,可以去了解一下。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
。。。。b页面刷新可以到a页面。。。你这应该做成单页应用,A页面有对应的路由,同时有个按钮可以显示b页面,但是b没有对应路由,此时url还是对应A,刷新就是A了