我正在使用Jquery Mobile/Phonegap开发Android应用程序.我有以下代码来控制手机的后退按钮:
document.addEventListener("backbutton", backKeyDown, true);
function backKeyDown() {
// Call my back key code here.
$.mobile.changePage("#homepage", "slideup");
}
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但我希望应用程序只在主页上按下后退按钮时关闭,这可能吗?
我有一个使用jQuery Mobile的PhoneGap应用程序.在某个页面,我不能让用户回到他访问过的最后一页.
页面顺序如下:
(1)index -> (2)listing items -> (3)form submited -> (4)sucess page
Run Code Online (Sandbox Code Playgroud)
我需要的是:我希望在用户访问时清除所有历史记录page 4并将其设置page 1为最后一个,并且只有在用户尝试返回时才访问.也许这不是完全可能的,那么我会接受任何建议.
我想jQuery Mobile将导航历史存储在某种阵列中,我希望有人可以帮助找到它.提前致谢!
编辑: 我正在使用多页面模板,这是一个单一的html页面,其中某些div作为由jQuery Mobile管理的页面.
我想在InAppBrowser上导航页面时禁用或覆盖Android Back按钮.我可以添加一个可以处理它的事件监听器吗?
编辑: 通过下面的@T_D查看答案提供的解决方案是我能得到的最接近的答案.似乎无法覆盖InAppBrowser中的按钮,因为在此插件上导航页面时,所有PhoneGap调整都停止工作.我无法找到任何其他解决方案而不是修改API库.如果这里有任何PhoneGap的人并且知道更多的东西,我会很高兴得到一些评论.谢谢.
我得到的最接近的:
var ref = window.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener("backbutton", function () { })
Run Code Online (Sandbox Code Playgroud) 我正在构建一个Cordova 3应用程序.我正在为我的appview加载一个网址,在某些情况下我会在appview上打开一个全屏视图.在这些情况下,我希望后退按钮只删除我的顶视图,而不是执行内置的"goBack"方法.我没有设法覆盖内部页面中的后退单击行为.我注意到只有当我从我的初始URL页面点击"返回"时,我才会进入我的"onBackPressed"监听器功能,内页似乎禁用"后退"事件传播并始终执行浏览器返回导航.
我发现这篇文章:覆盖Android Backbutton行为仅适用于带有PhoneGap的第一页,但它似乎只与较旧的cordova版本相关.
任何帮助,将不胜感激.
谢谢!