Griff-Android-Zurück-Taste auf der Phonegap InAppBrowser
Möchte ich deaktivieren oder überschreiben Sie die Android-Zurück-button, während ich die Navigation der Seiten, auf die InAppBrowser. Kann ich fügen Sie einen Ereignis-listener, der damit umgehen kann?
EDIT:
Auf der Suche auf die Antwort von @T_D unter den Lösungen sind der nächste, den ich bekommen konnte. Es scheint nicht möglich zu sein, überschreiben Sie die Taste im InAppBrowser als alle PhoneGap zwickt, aufhören zu arbeiten, während der Navigation, Seiten, die auf dieses plugin. Ich war nicht in der Lage zu finden eine andere Lösung, anstatt das ändern der API-Bibliothek. Wenn es irgendwelche PhoneGap Jungs hier und etwas mehr wissen, ich 'll werden froh um einige Kommentare. Danke.
Der nächste, den ich bekam:
var ref = window.open('http://apache.org', '_blank', 'location=yes');
ref.addEventListener("backbutton", function () { })
- hey, ich habe eine neue Antwort, die für mich funktioniert, können Sie überprüfen Sie es heraus unten und wird hoffentlich auch für Sie arbeiten
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entsprechend der Dokumentation das Verhalten der hardware-zurück-Taste kann so konfiguriert werden nun für die InAppBrowser:
Dank Kris Erickson.
So einfach aktualisieren Sie Ihre InAppBrowser-plugin, wenn der rückwärts-navigation ist das gewünschte Verhalten.
Weitere details finden Sie unter: https://github.com/apache/cordova-plugin-inappbrowser/pull/86
Dieser arbeitete für mich in PhoneGap 2.7, Hilfe kam von hier, Wie kann ich deaktivieren, Android-Schaltfläche "Zurück" auf einer Seite und ändern, um die Schaltfläche schließen auf jeder anderen Seite
Cordova 6.5.0
undInAppBrowser 1.5.0
.Können Sie es tun, ganz einfach, so wie der InAppBrowser version 0.3.3), aber müssen Sie die Java-Dateien. Gehen Sie auf src/com/org/apache/corodova/inappbrowser-Verzeichnis und Bearbeiten Sie die InAppBrowserDialog.java:
Ändern
zu
Dann gehen Sie zu InAppBrowser und finden Sie die goBack Funktion zu ändern:
zu
Und nun die hardware-zurück-Taste zurück gehen, bis es nicht mehr Rücken zu tun. Ich glaube wirklich, dies sollte die default-Verhalten in android seit der Taste "Fertig", schon schließt sich die InAppBrowser Fenster.
cordova plugin add ...
). Welche Dateien soll ich downloaden und wo muss ich Sie setzen? Danke!cordova plugin add https://github.com/kriserickson/cordova-plugin-inappbrowser.git
.exit
event in javascript und manuell schließen Sie den browser von den Eltern erhalten, es wird das gleiche erreichen.Ich hatte das gleiche Problem und habe es endlich an die Arbeit, ich poste die Antwort hier, falls es jemand hilft.
Dies ist der code den ich benutze:
Also der Schlüssel ist im Grunde befestigen Sie die Ausfahrt - Ereignis, das aufgerufen wird, wenn die zurück-Taste des Gerätes getippt wird.
BTW, ich benutzte
cordova.js
, und bauen meine apps lokal über den Cordova CLI, ich weiß nicht, ob das einen Unterschied macht, ich erwähne es nur für den Fall.BEARBEITEN HINWEIS: soweit ich weiß, es ist nicht möglich, überschreiben Sie die zurück-Taste für die InAppBrowser in PhoneGap. Aber ich habe mein bestes auf der Suche nach möglichen Lösungen...
Gibt es ein eventListener zu überschreiben, zurück-button in der PhoneGap -funktioniert nicht für die InAppBrowser-
Alternative eventListener zu überschreiben, zurück-Taste -der OP sagte, das hat nicht funktioniert-
Überschreiben der Zurück-Taste in einer Aktivität -dies ist plain java, offensichtlich nicht funktioniert hat bei PhoneGap-
Abschluss:
Oben genannten Lösungen nicht funktioniert hat, folgende links (diese Antwort, diese eine und ein Dritte) hat auch nicht geholfen. Es ist also gut möglich, dass das überschreiben der zurück-button für die InAppBrowser in PhoneGap ist nicht möglich. Wenn jemand mit einer Lösung kommen oder wenn die Dinge verändert für eine neue PhoneGap-version, fühlen Sie sich frei, uns wissen zu lassen...
EDIT:
Installation dieses plugin können Sie zur nächsten Lösung:
Was dieses plugin tun, in WP8, es wird overlay vorwärts/zurück/schließen - Taste auf InAppBrowser, Wann immer Sie öffnen einen beliebigen link/Seite in ihm.
Siehe dieses Bild:
function onDeviceReady(){ document.addEventListener("backbutton", onBackKeyDown, false); }
Oder vielleicht die Antwort helfen können. Eigentlich weiß ich nicht viel über PhoneGap noch nicht, aber ich werde mein bestes tun, um Ihnen zu helfen...var ref = window.open('http://apache.org', '_blank', 'location=yes'); ref.addEventListener("backbutton", function () { })
Verwendung der jQuery-mobile:
Läuft Cordova 5.1.1 und wenn ich es lade Seiten in der inappbroswer ich mag die zurück-Taste arbeiten, bis die inappbrowser beendet zurück zu meinem index.html Seite, da ist es leer und sitzt nur da. Ich verwendete den folgenden code, um dieses Problem zu beheben. Es beendet die app, wenn es beendet das inappbrowser.
Soweit ich weiß, es ist nicht möglich, zu überschreiben oder zu erkennen, die zurück-Taste inAppBrowser. Wenn Sie die zurück-Taste drücken, inAppBrowser, blenden-und return-regler auf der Phonegap Seite. Sie können fangen diese mit der
focus
Ereignis auf dem Fenster (mit jQuery) wieerneut öffnen Sie den browser. Sie könnte dann mit
browser.executeScript()
signal auf der webapp im browser geladen, wenn Sie mögen.Inspiriert von dieses forum posten.
Ich weiß, diese Frage hat die Antwort schon, aber ich poste meine Antwort für diejenigen, die diese Angaben nicht für Sie arbeiten(wie mich):
also ich habe eine multi-Seite-app für android und IOS, und ich bin mit cordova 5.x und ich habe den code unten in jeder Seite Seite außer der Seite, die ich brauchte, InAppBrowser:
und dann für die restlichen Seiten die ich verwendet habe:
für den Umgang zurück-Taste
beachten Sie, dass:
delete window.open;
auf der Basis der Dokumentationnachdem das InAppBrowser-plugin hat Super funktioniert und ich behandelt Schaltfläche "zurück" in alle Seiten korrekt.
eine Letzte Sache, die don nicht vergessen, hinzuzufügen:
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
in Seiten, die Sie brauchen zu haben, InAppBrowser.hoffe, dass dies helfen.