<a target="_blank" data-rel="external" href="http://www.kidzout.com">www.kidzout.com</a>
Hey Experten, ich benutze Phonegap 2.9.0 und ich benutze den obigen Code, um den Link im Browser zu öffnen, aber er öffnet ihn in derselben App. Wie öffne ich ihn im Safari-Browser?
Es öffnet die Website in der gleichen App und dann kann ich nicht mehr zur App zurückkehren. Daher muss ich die App löschen und erneut installieren.
_blank
einen externen Browser und_self
WebView öffnen möchten, überprüfen Sie meine 2015-Lösung für Cordova 5.1.1: stackoverflow.com/a/32227524/82609Antworten:
Verwenden Sie , wie in einer ähnlichen Frage vorgeschlagen , JavaScript, um
window.open
mit demtarget
Argument aufzurufen_system
, das gemäß der InAppBrowser-Dokumentation festgelegt ist :Dies sollte funktionieren, obwohl eine bessere und flexiblere Lösung darin besteht, die
click
Ereignisse aller Links abzufangen undwindow.open
mit Argumenten aufzurufen , die aus den Attributen des Links gelesen werden.Denken Sie daran, dass Sie das InAppBrowser-Plugin installieren müssen, damit dies funktioniert:
quelle
Wie in anderen Beiträgen beantwortet, haben Sie zwei verschiedene Optionen für verschiedene Plattformen. Was ich tue ist:
Wie Sie sehen, überprüfe ich die Geräteplattform und verwende abhängig davon eine andere Methode. Bei einem Standardbrowser lasse ich das Standardverhalten. Von nun an funktioniert die Lösung unter Android, iOS und in einem Browser einwandfrei, während die HTML-Seite nicht geändert wird, sodass URLs als Standardanker dargestellt werden können
Die Lösung erfordert InAppBrowser- und Geräte-Plugins
quelle
$ meteor add cordova:[email protected]
Funktioniert für mich mit Android & PG 3.0
quelle
Es gibt zwei verschiedene Möglichkeiten, URL in Android und iPhone zu öffnen.
Verwenden Sie für IOS den folgenden Code.
und für Android OS folgenden Code verwenden.
quelle
window.open("http://google.com", '_system')
genauso gut verwenden. Sie sollten es nicht verwendennavigator.app.loadUrl
, da es mitmarket://
URLs nicht funktioniert. In diesem Fall wird Ihre App einfach geschlossen und im selben Fenster geöffnet. Dies ist nicht immer vorzuziehen.Endlich hilft mir dieser Beitrag unter iOS: http://www.excellentwebworld.com/phonegap-open-a-link-in-safari-or-external-browser/ .
Während der Verwendung
navigator.app.loadUrl("http://google.com", {openExternal : true});
für Android ist OK.Via Cordova 3.3.0.
quelle
Keine dieser Antworten ist explizit genug, um externe Links auf jeder Plattform zu öffnen. Gemäß den inAppBrowser-Dokumenten :
Installieren
Fenster.open überschreiben (optional, aber der Einfachheit halber empfohlen)
Wenn Sie nicht überschreiben
window.open
, verwenden Sie die nativewindow.open
Funktion und können nicht erwarten, dass plattformübergreifend dieselben Ergebnisse erzielt werden.Verwenden Sie diese Option, um Links im Standardbrowser zu öffnen
Beachten Sie, dass das Ziel für den inAppBrowser (für den der Name des Plugins die Verwendung vorschlägt)
'_blank'
anstelle von lautet'_system'
.Ohne die obigen Schritte konnte ich keine plattformübergreifenden Links zum Öffnen in der Standard-Browser-App erhalten.
Extra Gutschrift
Hier ist ein Beispiel (Live) Klick-Handler für die Links:
quelle
Wenn Sie zufällig jQuery haben, können Sie den Klick auf den Link wie folgt abfangen:
Auf diese Weise müssen Sie die Links im HTML nicht ändern, was viel Zeit sparen kann. Ich habe dies mit einem Delegaten eingerichtet. Deshalb wird es an das Dokumentobjekt gebunden, wobei das Tag 'a' das zweite Argument ist. Auf diese Weise werden alle 'a'-Tags behandelt, unabhängig davon, wann sie hinzugefügt werden.
Natürlich müssen Sie das InAppBrowser-Plug-In noch installieren:
quelle
Funktioniert aber nur, wenn Sie das Inappbrowser-Plugin installiert haben. Navigieren Sie zum Installieren mithilfe des Terminals zum Ordner www in Ihrem Projekt und geben Sie Folgendes ein:
oder
Dann öffnet sich Ihr Link im Browser.
quelle
phonegap local <command>
wurde VERRINGERT. Der Befehl wurde an delegiertphonegap <command>
. Der Befehlphonegap local <command>
wird bald entfernt.cordova plugin add cordova-plugin-inappbrowser
.Ab Cordova 5.0 wird das Plugin InAppBrowser in der Cordova-Plugin-Registrierung umbenannt, daher sollten Sie es mit installieren
Dann benutze
quelle
Ich verwende PhoneGap Build (v3.4.0) mit Schwerpunkt auf iOS und musste diesen Eintrag in meiner config.xml haben, damit PhoneGap das InAppBrowser-Plug-In erkennt.
Danach sollte die Verwendung von window.open (URL, Ziel) wie erwartet funktionieren, wie hier dokumentiert .
quelle
m also using PhoneGap Build (v3.5.x) and added the plugin via the config.xml. But what i get is an InAppBrowser without controls an cannot call the safari browser. I
benutze nur das window.open (). Irgendein Rat?Ich hatte auch das Problem, dass der Link im Browser nicht geöffnet wurde. Hier ist meine Lösung mit den folgenden Schritten:
1: Installieren Sie dieses Cordova-Plugin.
2: Fügen Sie den offenen Link wie folgt in den HTML-Code ein.
3: Dies ist der wichtigste Schritt, aus dem ich viele Probleme hatte: Laden Sie die
cordova.js
Datei herunter und fügen Sie sie in denwww
Ordner ein. Verweisen Sie dann in derindex.html
Datei darauf.Diese Lösung funktioniert sowohl für die Umgebung Android und iPhone.
quelle
So was :
quelle