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;
})