我正在尝试使用jquery mobile和cordova编写RSS阅读器。我的RSS阅读器由3个页面组成(在同一HTML文档中:page1、page2、page3)。我正在尝试覆盖(硬件)后退按钮的行为,使其退出程序。为了检查我在项目设置中没有犯错误,我使用了PhoneGap示例项目并将其加载到Eclipse中。每个示例函数都有效,因此我将我的index.html和res文件夹移动到了phonegap示例中。在我的index.html中,我导入了以下脚本:
<script src="res/jquery-1.7.1.min.js"></script>
<script src="res/jquery.mobile-1.1.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
<script type="text/javascript" charset="utf-8" src="main.js"></script>
我的 main.js 文件长这样:
document.addEventListener("backbutton", function(e){
if($.mobile.activePage.is('#homepage')){
e.preventDefault();
navigator.app.exitApp();
}
else {
navigator.app.backHistory()
}
}, false);
您可以在第一个代码示例中检查我的脚本版本。有什么想法可以让我按下Xperia Arc上的返回按钮时退出应用程序?如果需要,我可以上传完整的代码。编辑:我已经在我的Android手机上测试了Phonegap(Cordova)蜂鸣功能,它可以正常工作,因此这与脚本实现不良无关。这一定是main.js文件中的问题。也许是jQuery Mobile返回按钮函数和Phonegap返回按钮函数之间的兼容性问题。