Wie bekomme ich die cordova InAppBrowser bieten eine Möglichkeit für den Benutzer, um den browser zu schließen, wenn Sie mit einem Android-Gerät?
Ich bin mit dem cordova InAppBrowser zum anzeigen der Inhalte einer externen Seite in meine app. Wenn ich öffnen Sie den browser auf einem iPhone, gibt es einige Schaltflächen am unteren Rand der InAppBrowser für schließen oder navigieren hin und her. Die InAppBrowser auf einem Android-Gerät hat keine solchen Tasten und hat keine offensichtliche Möglichkeit für den Benutzer, um den browser zu schließen.
Weiß ich, wie programmgesteuert zu schließen, die InAppBrowser, aber wie kann Benutzer schließen, wenn mit einem Android-Gerät?
Ich weiß, die Benutzer können drücken Sie die hardware zurück-Taste, um den browser zu schließen, aber (1) das ist nicht intuitiv - die zurück-Taste, in der Regel bedeutet "geh eine Seite zurück", und (2) ich würde eventuell gerne ändern das Verhalten der zurück-Taste, um zurück zu gehen eine Seite innerhalb der Website, ist die Anzeige innerhalb der InAppBrowser, anstatt den browser zu schließen.
InformationsquelleAutor der Frage Troy | 2013-03-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinzufügen
"location=yes"
dem Ende des Anrufs, wird eine Adressleiste und die Schaltfläche "FERTIG" am oberen Rand des Fensters auf Android. (Es erscheint am unteren Rand des Fensters in iOS). Auf Fertig klickt, schließt sich das Fenster.InformationsquelleAutor der Antwort elMarquis
Für diejenigen von uns, die mit Ionischen (ionicframework.com) und/oder ngcordova (ngcordova.com). Der folgende code startet die inappbrowser und schließen Sie den dialog über einen link
<a href="/mobile/close">close</a>
.InformationsquelleAutor der Antwort Stone
Halten Sie die option 'location=yes' zu Verhalten, die gleichen auf Android und iOS würde ich vorschlagen zu ändern Troy ' s fix, mit folgender änderung, bewegt sich die wenn-Anweisung, um die Kontrolle der "toolbar.addView(edittext);" und nicht um die gesamte toolbar.
Im Vergleich zu den original-code:
InformationsquelleAutor der Antwort Jello
Wie gesagt um elMarquis, die Sie brauchen, um hinzuzufügen, "location=yes", um die "Fertig" - Taste auf einem Android-Gerät. Allerdings, wenn Sie möchten, bekommen Sie die Fertig-Taste, von selbst, ohne die Adressleiste, es ist ziemlich einfach zu tun, indem Sie eine änderung an der cordova-source-code.
Ich habe die Informationen aus dieser google-Gruppe: https://groups.google.com/forum/?fromgroups=#!Thema/phonegap/mUcBcjPISgg
Hier sind einige Schritt-für-Schritt-Anleitung:
Laden Sie die cordova-source-code:
git clone https://github.com/apache/cordova-plugin-inappbrowser
Laden Sie die commons-codec-lib von hier
Importieren Sie die cordova-Projekt in Ihrem Arbeitsbereich
File > Import... > Existing Projects into Workspace
Erstellen Sie eine
libs
Verzeichnis und kopieren Sie die heruntergeladenecommons-codec-1.7.jar
- Datei.gen
Ordner zum Projekt (von der .classpath-Datei, aber nicht bei der git-download, da git nicht erlaubt, leere Ordner)Hoffentlich hilft jemand anderes.
InformationsquelleAutor der Antwort Troy
Für diejenigen, die eine native "Fertig" - button in der Fußzeile für Android (ähnlich wie iOS), habe ich implementiert eine solche Funktion auf diese Gabel von
cordova-plugin-inappbrowser
.Update: Jan 2018
Meine pull-request zusammengeführt wurde, in der offizielle plugin repo
so können Sie die nächste Version zu warten (die werden >=2.0.2) installieren, oder direkt von Github, z.B.:
Ursprüngliche Antwort
Die Umsetzung ist eine Erweiterung des PR #246 die derzeit (4. Dezember 2017) zur Genehmigung zu verschmelzen. Sobald das erledigt ist, werde ich ein separates Thema-und PR-merge zurück in den master -cordova-plugin-inappbrowser
.Hier einige screenshots mit den entsprechenden Optionen:
location=yes,Fußzeile=ja
location=no,Fuß=ja
location=yes,Fußzeile=ja,closebuttoncaption=Fertig
location=no,Fuß=ja,closebuttoncaption=Getan,closebuttoncolor=#0000ff
location=no,Fuß=ja,footercolor=#0000ff,closebuttoncaption=Fertig
location=no,Fuß=ja,footercolor=#00ff00,closebuttoncaption=Getan,closebuttoncolor=#0000ff
location=no,Fuß=ja,footercolor=#CC000000,closebuttoncaption=Getan,closebuttoncolor=#00FFFF
InformationsquelleAutor der Antwort DaveAlden
Ab dem Jahr 2016 April diese Antworten sind ziemlich veraltet. Ich hatte dies jetzt zu tun, also hier ist meine Erfahrung.
Erstens, die Cordova/Ionic-Projekt bekam in Scheiben geschnitten in plugins. Was wir brauchen, ist die cordova-plugin-inAppBrowser repo.
SCHRITT 1
Ersten haben wir zu Klonen, es irgendwo lokal oder fork auf github/bitbucket. (Wir müssen unsere geklonte repo dauerhaft für jedes neue Projekt-setup.) Wir können ganz einfach Klonen die repo-mit diesem Befehl:
SCHRITT 2
Dann müssen wir die gewünschten änderungen an dem Projekt. Um die url-Leiste Verhalten auf Androidum das gleiche wie in iOS wir haben zu zeigen, die Menüleiste immer und zeigen die url-Leiste nur, wenn Sie die Benutzer Fragen, für die menubar.
Der code was steuert diese ist in der
/src/android/InAppBrowser.java
Datei.Haben wir die Umstellung der Linien zwischen 707-716. (Hinweis: diese Nummern können sich ändern, wenn Sie die Datei ändern.)
Müssen wir ändern den code aus diesem
:
Also, was wir hier getan, dass wir hinzufügen, werden die Symbolleisten immer mit der exit - /vorwärts/zurück-buttons und fügen Sie die url-Leiste nur, wenn der Benutzer soll die volle bar. Dies ist das Verhalten der iOS-version.
Außerdem, wenn wir wollen, entfernen Sie die vorwärts/zurück-buttons, weil Android hat eine native back-Taste, dann müssen wir kommentieren Sie, und fügen Sie Sie nur, wenn Sie die nutzen will, die komplette Menüleiste. Also unser code sollte etwa so Aussehen:
SCHRITT 3
Fügen wir das modifizierte plugin für unser Projekt, wenn Sie wollen, dass diese nur eine Zeit, dann starten Sie einfach
statt
Hinweis: Sie müssen halten Sie Ihre modified repo, weil die
cordova plugin add
Befehl zu Holen, wenn aus Ihrem repository zu jeder Zeit, Sie setzen Ihr Projekt.InformationsquelleAutor der Antwort NoNameProvided
Kam gerade über eine Lösung, die helfen können erreichen Sie Ihre Bedürfnisse besser und/oder anderen Menschen helfen.
Zusammenfassend kann man erstellen Sie eine " dummy-HTML-Seite, fügen Sie JavaScript in Ihrem App zu erkennen, wenn die Seite geladen wird, und, wenn es geladen wird, schließen Sie die InAppBrowser.
Siehe hier: Phonegap build - Offene externe Seite im InAppBrowser oder childbrowser ohne Symbolleiste, und schließen Sie es?
InformationsquelleAutor der Antwort Matty J
Dies ist möglich durch anpassen der 'InAppBrowser.java'. Ich weiß, das ist etwas komisch, aber dies ist die einzige Wahl, die ich hatte. Aber, diese kleinen Kniffe, die ich gemacht, um die java-Datei jetzt erlaubt mir, mich zurück navigieren innerhalb der Seiten in meine app.
Hier ist die änderung in InAppBrowser.java,
In den 'run' - Methode innerhalb showWebPage Methode, es wird ein listener-code so etwas wie dieses,
Unter dieser Zeile fügen Sie den folgenden code,
InformationsquelleAutor der Antwort Suresh Raja