很高兴可以在浏览器中的Cordova / Ionic应用程序中测试许多案例。但是,我还没有发现假冒Android(以前的硬件)后退按钮的方法。
如果有一个带有后退按钮或按键组合的额外抽屉(例如Alt + Ctrl +<)会触发一个让Ionic认为按下Android后退按钮的事件会很好。
是否可以使用JavaScript触发此类事件?怎么样?
要明确:我只在网络浏览器中测试离子应用时才想要这个。所以Android专家:不需要在这里提供Java代码 - 我们不在Android设备或模拟器上。并且:我非常确定$ionicHistory.goBack()
或$window.history.back()
之类的东西不是我想要的。
答案 0 :(得分:9)
我有一个工作解决方案,我想与您分享。按Alt+Ctrl+<
时会触发backbutton
事件。当然,像navigator.app.exitApp()
这样的东西不会起作用,但是简单的导航工作,例如关闭模态。
AppModule.run(function ($window, $document, $ionicPlatform) {
'use strict';
var document = $document[0];
function triggerBackButton() {
var backButtonEvent = document.createEvent('Events');
backButtonEvent.initEvent('backbutton', false, false);
document.dispatchEvent(backButtonEvent);
}
function registerBackButtonFake() {
document.addEventListener('keyup', function (event) {
// Alt+Ctrl+<
if (event.altKey && event.ctrlKey && event.keyCode === 188) {
triggerBackButton();
}
});
}
if (!$window.cordova) {
$ionicPlatform.ready(registerBackButtonFake);
}
});