在我的应用程序中,我使用phonegap 2.6。对于后退按钮,我使用以下函数
document.addEventListener("backbutton", onBackKeyDown, false);
function onBackKeyDown() {
alert("hello");
navigator.app.backHistory();
}
document.addEventListener('deviceready', onDeviceReady, true);
当我单击设备的硬件后退按钮时,上述功能工作正常。但当我单击后退按钮时,它不工作。
我已经设计了我的后退按钮如下:
<a class="ui-link" href="#" rel="external" onclick="onBackKeyDown()">
<img src="images/icon-back.png" alt="Phone" border="0">
</a>
但是对于navigator.app.exitApp();
(应用程序退出),此按钮工作正常。
//Working Fine
function onBackKeyDown() {
navigator.app.exitApp();
}
//Not Working
function onBackKeyDown() {
navigator.app.backHistory();
}
但对于navigator.app.backHistory();
不起作用。
5条答案
按热度按时间l5tcr1uw1#
当我面对同样的情况时,我尝试了3种不同的方法:
window.history.back()
navigator.app.backHistory();
History.go(-1);
单独来看,这些都不能解决问题。我把这三件事放在一起,令我惊讶的是,它起作用了。我真的不知道它背后是什么。
然后我减少到两个功能和删除:
window.history.back()
现在我正在使用这个功能,它工作得很好。
7vux5j2d2#
如果您在锚上使用属性data-rel=“back”,则在该锚点上的任何单击都将模仿后退按钮,返回一个历史记录条目并忽略锚点的默认href。
tcomlyy63#
这取决于你在哪里:在我的windowsphone 8.1 Lumia 925上,它工作历史。go(-1);*,同时**导航器。应用程序。backHistory();**在崩溃前导致异常。
在我的安卓系统上(我相信大多数),**navigator.app.backHistory();**工作正常。
lqfhib0f4#
这可能会帮助一些人,因为它帮助我修复了历史。go(-1)不工作在谷歌浏览器。
我不是jQueryMaven,但我想它可能会帮助一些人,因为我正在寻找这个答案,但一开始找不到。
goucqfw65#
已解决!停止获取“TypeError:navigator.app未定义”
我创建了一个函数,它首先会检查你使用的是什么设备,然后应用相关的脚本:
通过将以下内容添加到后退链接/按钮来调用函数: