2016-04-26 7 views
0

Wenn ich die Hybrid-App mit Zebrastreifen bauen - Android-Schaltfläche funktioniert nicht mit Onsen-Framework (mit eckigen js).Android-Taste funktioniert nicht mit Hybrid-App ~ mit Onsen Ui (eckig js) Gebäude App mit Zebrastreifen

Unten ist der Code, die ich verwendet habe ...

document.addEventListener("backbutton", onBackKeyDown, false); 

function onBackKeyDown() { 
    // Handle the back button 
    alert("Backbutton is pressed!"); 
    var element = document.querySelector(".navigator-container"); 
    var scope = angular.element(element).scope(); 
    scope.popPage(); 
} 
+0

Welche Version von OnsenUi verwenden Sie? – kabaehr

+0

Onsen Version 2.0 Beta https://onsen.io/2/ –

+0

Werfen Sie einen Blick auf diese http://stackoverflow.com/questions/24073019/backbutton-event-not-working-on-intel-xdk-crosswalk- App Vielleicht vervielfältige ich – kabaehr

Antwort

1

Wie @kabaehr erwähnt Sie warten müssen, kann für alles zunächst bereit zu sein, zu. Das bedeutet, dass eine der folgenden Bedingungen:

document.addEventListener('deviceready', function(){ ... }); 

ons.ready(function(){ ... }); 

Die andere Sache, die zu Onsen UI spezifisch sein kann ist die Tatsache, dass es bereits einige Umgang mit diesem Fall zu tun, so dass Sie könnte versuchen, die API zu verwenden, die für das gegeben ist .

Hier sind die docs für diese API. Derzeit scheint es, wie die Methode, die Sie wollen, ist:

ons.setDefaultDeviceBackButtonListener(onBackKeyDown) 

Obwohl diese Methode nicht klingt schön, so vielleicht der Name in der Zukunft ändern wird.

Für jetzt fühlen Sie sich frei zu versuchen, wenn irgendwelche dieser Optionen scheinen, um für Sie zu arbeiten.

+0

Hallo, ich versuchte mit den oben genannten Ansätze, aber nichts funktionierte für mich .... –

+0

Was genau ich tue ist, laden ich meine Anmeldeseite mit xwalkview und nach Eingabe der Anmeldeinformationen, öffnet sich eine andere Seite und wenn ich auf eine andere Seite wechseln und drücken Zurück Tasten es direkt umleiten, um mich auf die Anmeldeseite statt mich auf die vorherige Seite umleiten .... –

+0

Hmm ... seltsam - vielleicht feuert es eigentlich nicht richtig das Ereignis. Stellen Sie sicher, dass die Datei 'cordova.js' enthalten ist und funktioniert. Vielleicht können Sie auch 'document.addEventListener ('deviceready', function() {document.addEventListener (" backbutton ", onBackKeyDown);});' auch ohne Onsen UI testen und sehen, ob es funktioniert. Auf diese Weise können wir sehen, ob es ein Cordova oder ein Onsen-Problem ist. –