【发布时间】:2015-04-21 06:09:09
【问题描述】:
我尝试在我的 wp8 cordova 应用程序中实现后退按钮功能,按下设备上的硬件后退按钮应该导航到应用程序的上一页。
我做了什么
function onLoad() {
document.addEventListener("deviceready", init, false);
document.addEventListener("resume", onResume, false);
document.addEventListener("backbutton", onBackKeyDown, false);
}
function init() {
//some code
}
function onResume() {
//some code
}
function onBackKeyDown() {
window.history.back();
return false;
}
我也尝试替换“window.history.back();”使用“navigator.app.backHistory();”这似乎也不起作用
然后我尝试将代码放入 try catch 块中
try
{
navigator.app.backHistory();
//window.history.back();
}
catch (e)
{
console.log("exception: " + e.message);
}
这似乎也失败了。无论我做什么,应用程序似乎都会退出应用程序而不是向后移动,有趣的是,当我在 IE 控制台中尝试这个时,它似乎工作得很好
请帮助这些人
提前致谢
【问题讨论】:
-
请在您的 "addEventListener("backbutton..." 之前和之后添加 10 行代码。
-
@Sithys 嗨,你能解释一下你需要什么吗?
-
只有当你有一个 deviceready 事件监听器,如果 deviceready 被成功触发,该事件监听器才会工作。
-
嗨@Sithys 我的代码看起来像这个函数 onLoad() { document.addEventListener("deviceready", init, false); document.addEventListener("resume", onResume, false); document.addEventListener("backbutton", onBackKeyDown, false); } 函数 onBackKeyDown() { window.history.back();返回假; } 类似的东西
-
您能否在您的第一篇文章中将其编辑到代码标签中?
标签: cordova windows-phone-8 browser-history