JavaScript的history.back()在FireFox和Chrome无效解决办法

Posted 中传思客老窝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript的history.back()在FireFox和Chrome无效解决办法相关的知识,希望对你有一定的参考价值。

今天在做一个app测试时需要用到返回上一级来源页面的一个功能了,但测试了history.back()之后发现在ie有效在FireFox和Chrome无效,下面我们来看问题如何解决。

最初写法是history.back()如下

htm

<div class="btn1"><a href="#" id="calcelbtn">取消</a></div>  

js代码

$(‘#calcelbtn‘).click(function(){
 history.back();  
})

测试后发现在ie可以使用,在在FireFox和Chrome无效了,后来百度了一下发现要按下面方法定才被在FireFox和Chrome无效支持了。

FireFox:

只需要改成如下方式:

<a href="#" onclick="window.history.back()">返回</a>

Chrome:

Chrome比FireFox更难搞:

<a href="#" onclick="window.history.back(); return false;">返回</a>

人分析:对于Chrome来说,首先执行window.history.back(),执行完成之后再接着执行href="#",所以无法返回。加上 return false之后将不再执行href="#" 好了,我们进行一些修复

$(‘#calcelbtn‘).click(function(){
 window.history.back(); 
 return false;
})






以上是关于JavaScript的history.back()在FireFox和Chrome无效解决办法的主要内容,如果未能解决你的问题,请参考以下文章

jq,返回上一页,小记history.back(-1)和history.go(-1)区别

JavaScript 之 history对象

javascript History对象属性和方法

history.back() 在同一域上导航时不起作用?

webkit / Chrome history.back(-1) onclick vs href

JavaScript返回到上一页的三种方法