首页 文章

是否可以在Web浏览器中模拟Android“硬件”后退按钮?

提问于
浏览
5

它可以在浏览器中的Cordova / Ionic应用程序中测试许多案例 . 但我还没有找到 a way to fake pressing Android's (formerly hardware-) back-button .

如果有一个带有后退按钮或按键组合的额外抽屉(例如Alt Ctrl <)会触发一个让Ionic认为按下Android后退按钮的事件会很不错 .

是否可以使用JavaScript触发此类事件?怎么样?

要明确:我只想在我的网络浏览器中使用 testing ionic apps . 所以你们这些Android家伙:不需要在这里提供Java代码 - 我们确定 $ionicHistory.goBack()$window.history.back() 之类的东西不是我想要的 .

1 回答

  • 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);
        }
    });
    

相关问题