湘龙工作室提供长沙做网站,长沙建站,长沙网站开发,软件制作,网站优化,域名注册,网络空间
长沙做网站

手机APP中使用history.back()返回没有效果的解决

发布时间:2015/05/24 来源:做网站

 样式是一个超链接A标签,通过点击事件来达到返回上一页的效果。
所以通常做饭是把A标签的href写成#,然后onClick事件,刚开始我只是当成一个普通点击事件,然后使用JS进行返回。
写法如下:
<a id="returnButton" onClick="javascript :history.back(-1);" class="header_btn"><p class="returns_btn">返回</p></a> 
 
但是我发现一个问题,就是在嵌套到手机的APP里面时,经常没有效果,而且有时出现无法连接的空白页面。所以我在想是不是因为嵌套在APP里面,所以出现了兼容问题,所以我查了一下是不是有这个问题。在网上有个人还在很说了这个问题,这个其实也没什么说的,说白了就是浏览器处理上的差异,我把网友的原话摘抄下来:
JavaScript中后退的写法:history.back()或者history.go(-1)。
 
这种写法在IE上即可实现我们想要的效果,但是在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="#",便能正常返回。
所以我修正了下我的写法,修改为:
<a id="returnButton" onClick="javascript :window.history.back(); return false;" class="header_btn"><p class="returns_btn">返回</p></a>
修改后可以正常使用。
其实仔细想想,也不是什么大问题,也是自己疏忽了细节而已。
做网站版权所有 2009-2015 湘ICP备11020044号   sitemap
地址:长沙市天心区五一西路189号锦绣中环29楼(已搬至岳麓区金星北路89号)   邮编:410001
电话:0731-82067301   QQ:2668200050   Email:longyun1077@163.com
湘龙工作室为您提供:长沙做网站,长沙建站,长沙网站开发,软件制作,网站优化,域名注册,网络空间服务
Copyright 2002-2010 长沙做网站www.csjwang.com. 版权所有
长沙做网站多少钱   长沙做网站公司   长沙做网站价格   长沙做网站的 培训班管理软件
分享到: