Java小强个人技术博客站点    手机版
当前位置: 首页 >> JS >> 手机APP中使用history.back()的问题

手机APP中使用history.back()的问题

105050 JS | 2015-5-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>

修改后可以正常使用。

其实仔细想想,也不是什么大问题,也是自己疏忽了细节而已。

推荐您阅读更多有关于“ js app 手机端 android 返回 window ”的文章

上一篇:Hibernate下载地址 下一篇:MyEclipse10 MyEclipse2014安装SVN插件遇到的问题

猜你喜欢

发表评论: