Ouvrir tous les liens à l'aide du navigateur système dans une application ionique
J'ai besoin que tous les liens à l'intérieur d'une certaine partie de mon application ouverte dans le navigateur de votre système. Le truc, c'est que ces liens proviennent d'une source externe (une API) donc je ne peux pas ajouter le ng-click
fonction qui m'aide à ouvrir les liens externes.
Je suis en utilisant dans l'application navigateur plugin (ng-cordoue). En fait, j'ai d'autres liens qui s'ouvrent de l'extérieur, mais dans ce cas, les liens peuvent être dans n'importe quelle partie du contenu donc ma question serait de savoir comment pourrais-je ajouter de la ng-cliquez sur la directive à tous les liens après ils sont chargés? ou si c'est possible, comment config dans-app-plugin de navigateur pour ouvrir TOUS les liens dans le navigateur de votre système?
Par la manière, le simple fait de les liens ne seront pas ouverts, même dans le inappbrowser: je tape sur eux et rien ne se passe.
Merci pour l'aide
source d'informationauteur Sebastian Hernandez
Vous devez vous connecter pour publier un commentaire.
Autant que je sache, il n'y a pas un moyen de le faire automatiquement, vous devez utiliser l'application navigateur de code js pour ouvrir les liens de l'extérieur de manière cohérente dans chaque plate-forme.
Votre question n'est pas de donner un exemple clair de ce que le serveur renvoie donc je suis en supposant que vous êtes l'obtention d'un bloc complet de html et sont juste rendu à l'écran. En supposant une demande de retour quelque chose de simple comme :
Et votre demande ressemble:
Si vous avez accès à la partie serveur et peut apporter des modifications:
Ajouter un "inappbrowser" paramètre de votre demande afin de détecter si elle doit retourner inappbrowser compatible liens et de modifier la réponse de votre serveur pour être quelque chose comme:
Et ont un générique openExternal méthode:
Si vous ne pouvez pas changer le côté serveur
Analyse de la réponse et de remplacer les liens avec ng-clics:
Et utiliser le même openExternal méthode que ci-dessus.
Je suis en remplaçant les ancres avec les divisions afin d'éviter toute modification de l'application des routes. Qui pourrait ne pas être nécessaire dans toutes les applications.
Pour que ce soit encore mieux, vous devez l'associer à un
open-external
directive de sorte que vous pouvez l'utiliser dans de multiples contrôleurs et de le garder propre.Vous pouvez remplacer la valeur par défaut de la balise lien de la fonctionnalité comme on le voit ici:
https://blog.nraboy.com/2014/12/open-dynamic-links-using-cordova-inappbrowser/
Mieux,
Parce que le HTML est déjà rendu quand il s'agit de Coudé, et la inAppBrowser plugin ne fonctionne que si elle est appelée explicitement par le Javascript, il n'y a rien que vous pouvez faire qui n'implique pas de modifier manuellement le code HTML ou en utilisant un javascript.
Changer le HTML, c'est juste une Mauvaise Idée®, en particulier si vous essayez de le faire en utilisant l'expression rationnelle correspondant.
Qui laisse javascript:
Installer la prochaine plugin:
Maintenant, vous pouvez utiliser
_system
_blank
ou_self
pour la destination:Plus d'infos: https://www.thepolyglotdeveloper.com/2014/07/launch-external-urls-ionicframework/
Dans le contrôleur