Aller au contenu

@capgo/capacitor-inappbrowser

Navigateur in-app natif pour Capacitor avec WebViews gérées, superposition d'UI native, sessions privées, proxy, téléchargements, popups et messagerie d'app.

@capgo/capacitor-inappbrowser offre à Capacitor apps deux chemins de navigateur : open() pour l'expérience du navigateur système et openWebView() pour une WebView native gérée que votre application peut redimensionner, masquer, piloter par messages, scripter, proxifier et superposer à l'interface Ionic.

Utilisez-le lorsque la page nécessite plus qu'un simple navigateur externe : flux OAuth et de paiement, portails de support intégrés, écrans de paiement, appels vidéo, portails de documents, applications web interactives, ou tout flux nécessitant des contrôles natifs autour d'un contenu web en direct.

Le nom du package a été modifié.
  • Présentez l'interface Ionic ou Capacitor au-dessus d'une page web en direct avec toBack, sendToBack(), bringToFront(), transparentBackground, et dispatchInputEvent().
  • Créez des navigateurs en écran partiel, des bottom sheets et des webviews en picture-in-picture avec width, height, x, y, et updateDimensions().
  • Let users tap the Capacitor app outside a custom-size browser frame on Android and iOS.
  • Exécutez des flux de paiement, de connexion, de support ou de changement de compte sans stockage web persistant avec persistWebViewData: false et clearAllBrowsingData().
  • Maintenez plusieurs instances de navigateur chargées avec hidden, hide(), et show() tout en préservant l'état de la page.
  • Intégrez des web apps avancées nécessitant un proxy de requête, des uploads de fichiers, des téléchargements, le contrôle des popups, le support de Google Pay, _blank la gestion des liens et la communication app-vers-page.
  • open - Ouvre une URL dans Chrome Custom Tabs sur Android ou SFSafariViewController sur iOS.
  • openWebView - Ouvre une WebView native gérée avec barre d'outils personnalisée, redimensionnement, navigation native, messagerie, scripting, proxy, téléchargements, popups et contrôles de données.
  • sendToBack / bringToFront - Déplace un navigateur géré derrière ou au-dessus de la WebView hôte Capacitor.
  • dispatchInputEvent - Transmet les événements de clic, de toucher et de défilement à un navigateur situé derrière l'interface native de l'app.
  • updateDimensions - Modifie la taille et la position de la WebView gérée sans recharger la page.
  • hide / show - Maintient les WebViews gérées chargées tout en supprimant ou en restaurant leur présentation native.
  • postMessage / executeScript - Connecte l'app Capacitor au JavaScript s'exécutant à l'intérieur de la page gérée.
  • clearAllBrowsingData / persistWebViewData - Contrôle les cookies, le cache, le stockage, IndexedDB et la persistance de session.
  • handleDownloads, les règles de proxy et les événements popup — Gérez les portails de support, les flux d'upload, les pages de paiement et les web apps intégrées.
MéthodeDescription
goBackNavigue dans l'historique de la WebView si possible.
openOuvrir l'URL dans une nouvelle fenêtre plein écran. Sur Android, s'appuie sur Chrome Custom Tabs ; sur iOS, sur SFSafariViewController.
clearCookiesEffacer les cookies de l'URL quand id est omis, s'applique à toutes les webviews ouvertes.
clearAllCookiesEffacer tous les cookies quand id est omis, s'applique à toutes les webviews ouvertes.
clearCacheEffacer le cache quand id est omis, s'applique à toutes les webviews ouvertes.
clearAllBrowsingDataEfface les cookies, le cache, le local storage, le session storage, IndexedDB et les autres données de navigation du store par défaut et des WebViews gérées.
getCookiesRécupérer les cookies d'une URL spécifique.
closeFermer la webview. Quand id est omis, ferme la webview active.
hideMasquer la webview sans la fermer. Utilisez show() pour la réafficher. Quand id est omis, cible la webview active.
showAffiche une webview précédemment masquée. Quand id est omis, cible la webview active.
sendToBackDéplace le navigateur natif derrière la WebView hôte Capacitor pour que l'UI de l'app puisse apparaître au-dessus.
bringToFrontRamène au premier plan un navigateur qui se trouvait derrière la WebView hôte.
dispatchInputEventEnvoie les entrées de clic, de toucher ou de défilement à un navigateur géré ; les coordonnées sont relatives à la fenêtre du navigateur.
openWebViewOuvrir une URL dans une nouvelle webview avec barres d'outils et fonctionnalités avancées : accès à la caméra, accès aux fichiers, écoute d'événements, injection de JavaScript, communication bidirectionnelle, etc.
executeScriptInjecte le JavaScript code dans la fenêtre de l'InAppBrowser. Quand id est omis, s'exécute dans toutes les webviews ouvertes.
postMessageEnvoie un événement à la webview (navigateur in-app). Écoutez dans la page avec window.addEventListener('messageFromNative', listenerFunc). Le detail le payload doit être sérialisable en JSON. Quand id est omis, diffuse vers toutes les webviews ouvertes.
takeScreenshotCapture le viewport actuel de la webview en capture d'écran PNG. Quand id est omis, cible la webview active.
setUrlDéfinit l'URL de la webview. Quand id est omis, cible la webview active.
addListenerÉcoutez les changements d'URL, uniquement pour openWebView.
addListenerÉcoutez buttonNearDoneClick; le payload contient la webview id.
addListenerÉcoutez les clics de fermeture uniquement pour openWebView.
addListenerSera déclenché lorsque l'utilisateur clique sur le bouton de confirmation si un disclaimer est requis ; fonctionne avec openWebView shareDisclaimer et closeModal.
addListenerSe déclenche quand la webview renvoie un événement à l'app. Utilisez window.mobileApp.postMessage(...) dans la page, et gardez le payload sérialisable en JSON.
addListenerSera déclenché dès qu'une capture d'écran est effectuée via le plugin API, le bouton de capture natif ou le bridge JavaScript injecté.
addListenerSera déclenché lors du chargement de la page.
addListenerSera déclenché en cas d'erreur de chargement de la page.
addListenerSera déclenché après que la gestion du téléchargement natif a sauvegardé un fichier localement. Activez ceci avec handleDownloads: true lors de l'ouverture de la webview.
addListenerSera déclenché si la gestion du téléchargement natif échoue. Activez ceci avec handleDownloads: true lors de l'ouverture de la webview.
addListenerSera déclenché dès qu'une page ouvre un popup ou une nouvelle fenêtre. Utilisez l'ID du popup retourné avec executeScript, postMessage, show, hide, et close.
addListenerÉcoutez les requêtes proxy déléguées par le runtime natif. Privilégiez addProxyHandler() au lieu de l'appeler directement.
addListenerÉcoutez les sorties de la console JavaScript émises par la page gérée. Activez ceci avec captureConsoleLogs: true lors de l'ouverture de la webview.
handleProxyRequestMéthode interne utilisée par addProxyHandler() pour renvoyer une décision de proxy au natif. Transférer l'original phase lors de la réponse à un proxyRequest listener.
removeAllListenersSupprimez tous les écouteurs de ce plugin.
reloadRecharger la page web actuelle.
updateDimensionsMettre à jour les dimensions de la webview. Permet de modifier la taille et la position de la webview au runtime. Quand id est omis, cible la webview active.
setEnabledSafeTopMarginDéfinit la marge de sécurité supérieure activée de la webview au runtime. Quand id est omis, cible la webview active. Sur le Web, cette méthode est une no-op et se résout sans changer la mise en page.
setEnabledSafeBottomMarginDéfinit la marge de sécurité inférieure activée de la webview au runtime. Quand id est omis, cible la webview active. Sur le web, cette méthode ne fait rien et se résout sans modifier la mise en page.
openSecureWindowOuvre une fenêtre OAuth2 sécurisée. Sur le web, renvoyez l'URL de redirection via un BroadcastChannel; sur mobile, enregistrez une URI de redirection personnalisée dans la configuration de votre application. Consultez le guide de démarrage pour les exemples complets HTML, Info.plist et AndroidManifest.

Utilisez ces valeurs avec les options de la barre d'outils lors de l'ouverture d'un in-app browser ou d'une WebView.

ValeurL'utilisateur trouvera
activityBarre d'outils simple avec contrôles de fermeture et de partage.
compactBarre d'outils simple avec contrôle de fermeture.
navigationBarre de navigation complète avec contrôles de retour et d'avance.
blankNo toolbar.

Cette référence est synchronisée depuis src/definitions.ts dans capacitor-inappbrowser.

Si vous utilisez @capgo/capacitor-inappbrowser pour planifier le travail sur les plugins natifs, connectez-l’à Utilisation de @capgo/capacitor-inappbrowser pour la fonctionnalité native dans « Utiliser @capgo/capacitor-inappbrowser », Capgo Répertoire des plugins pour le workflow produit dans Capgo Plugin Directory, Plugins Capacitor par Capgo pour les détails d'implémentation dans Plugins Capacitor par Capgo, Ajouter ou mettre à jour des plugins pour les détails d'implémentation dans Ajout ou mise à jour de plugins, et Alternatives aux plugins Ionic Enterprise pour le workflow produit dans Alternatives aux plugins Ionic Enterprise.