<a target="_blank" data-rel="external" href="http://www.kidzout.com">www.kidzout.com</a>
hé experts, j'utilise phonegap 2.9.0 et j'utilise le code ci-dessus pour ouvrir le lien dans le navigateur mais il l'ouvre dans la même application ...... comment l'ouvrir dans le navigateur safari?
il ouvre le site Web dans la même application, puis je ne peux pas revenir à l'application, je dois donc supprimer l'application et la réinstaller .....
_blank
un navigateur externe et_self
WebView, consultez ma solution 2015 pour Cordova 5.1.1: stackoverflow.com/a/32227524/82609Réponses:
Comme suggéré dans une question similaire , utilisez JavaScript pour appeler
window.open
avec l'target
argument défini sur_system
, conformément à la documentation InAppBrowser :Cela devrait fonctionner, bien qu'une solution meilleure et plus flexible consisterait à intercepter tous les
click
événements des liens et à appelerwindow.open
avec des arguments lus à partir des attributs du lien.N'oubliez pas que vous devez installer le plugin InAppBrowser pour que cela fonctionne:
la source
Comme répondu dans d'autres articles, vous avez deux options différentes pour différentes plates-formes. Ce que je fais c'est:
Donc, comme vous pouvez le voir, je vérifie la plate-forme de l'appareil et, en fonction de cela, j'utilise une méthode différente. Dans le cas d'un navigateur standard, je laisse le comportement standard. À partir de maintenant, la solution fonctionnera correctement sur Android, iOS et dans un navigateur, tandis que la page HTML ne sera pas modifiée, de sorte qu'elle puisse avoir des URL représentées comme une ancre standard
La solution nécessite des plugins InAppBrowser et Device
la source
$ meteor add cordova:[email protected]
Fonctionne pour moi avec Android et PG 3.0
la source
Il existe 2 façons différentes d'ouvrir l'URL sous Android et iPhone.
POUR IOS, utilisez le code suivant.
et pour Android OS, utilisez le code suivant.
la source
window.open("http://google.com", '_system')
tout aussi bien utiliser . Vous ne devriez pas utilisernavigator.app.loadUrl
, car cela ne fonctionnera pas avec lesmarket://
URL: dans ce cas, il fermera simplement votre application et s'ouvrira dans la même fenêtre .. pas toujours préférable.Enfin, cet article m'aide sur iOS: http://www.excellentwebworld.com/phonegap-open-a-link-in-safari-or-external-browser/ .
En utilisant
navigator.app.loadUrl("http://google.com", {openExternal : true});
pour Android est OK.Via Cordova 3.3.0.
la source
Aucune de ces réponses n'est suffisamment explicite pour que des liens externes s'ouvrent sur chaque plateforme. Selon la documentation inAppBrowser :
Installer
Écraser window.open (facultatif, mais recommandé pour plus de simplicité)
Si vous n'écrasez pas
window.open
, vous utiliserez lawindow.open
fonction native et ne pouvez pas vous attendre à obtenir les mêmes résultats multiplateformes.Utilisez-le pour ouvrir des liens dans le navigateur par défaut
Notez que la cible de inAppBrowser (qui est ce que le nom du plugin suggère qu'il doit être utilisé) est
'_blank'
, au lieu de'_system'
.Sans les étapes ci-dessus, je n'ai pas pu obtenir de liens à ouvrir dans l'application de navigateur par défaut multiplateforme.
Crédit supplémentaire
Voici un exemple de gestionnaire de clics (en direct) pour les liens:
la source
Si vous avez jQuery dans les parages, vous pouvez intercepter le clic sur le lien comme ceci:
De cette façon, vous n'avez pas à modifier les liens dans le html, ce qui peut vous faire gagner beaucoup de temps. J'ai configuré cela en utilisant un délégué, c'est pourquoi vous voyez qu'il est lié à l'objet document, avec la balise «a» comme deuxième argument. De cette façon, toutes les balises «a» seront gérées, quel que soit le moment où elles sont ajoutées.
Bien sûr, vous devez toujours installer le plug-in InAppBrowser:
la source
Fonctionnera mais uniquement si le plugin inappbrowser est installé. Pour installer, à l'aide du terminal, accédez au dossier www dans votre projet et tapez:
ou
Ensuite, votre lien s'ouvrira dans le navigateur.
la source
phonegap local <command>
a été obsolète. La commande a été déléguée àphonegap <command>
. La commandephonegap local <command>
sera bientôt supprimée.cordova plugin add cordova-plugin-inappbrowser
.Avec Cordova 5.0 et supérieur, le plugin InAppBrowser est renommé dans le registre du plugin Cordova, vous devez donc l'installer en utilisant
Ensuite, utilisez
la source
J'utilise PhoneGap Build (v3.4.0), en me concentrant sur iOS, et j'avais besoin d'avoir cette entrée dans mon config.xml pour que PhoneGap reconnaisse le plug-in InAppBrowser.
Après cela, l'utilisation de window.open (url, cible) devrait fonctionner comme prévu, comme indiqué ici .
la source
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
juste window.open (). Aucun conseil?J'ai également rencontré le problème que le lien ne s'ouvrait pas sur le navigateur, voici mon correctif avec les étapes:
1: Installez ce plugin cordova.
2: ajoutez le lien ouvert dans le html comme suit.
3: c'est l'étape la plus importante à cause de cela, j'ai rencontré de nombreux problèmes: téléchargez le
cordova.js
fichier et collez-le dans lewww
dossier. Faites-en ensuite référence dans leindex.html
fichier.Cette solution fonctionnera à la fois pour l'environnement Android et iPhone.
la source
Comme ça :
la source