Saltar al contenido

@capgo/capacitor-inappbrowser

Navegador nativo in-app para Capacitor con WebViews gestionadas, capas de UI nativas, sesiones privadas, proxy, descargas, popups y mensajería de la app.

@capgo/capacitor-inappbrowser ofrece a las apps Capacitor dos rutas de navegador: open() para la experiencia del navegador del sistema y openWebView() para un WebView nativo gestionado que tu app puede redimensionar, ocultar, comunicar, ejecutar scripts, usar como proxy y superponer con la UI de Ionic.

Úsalo cuando la página requiera algo más que un simple navegador externo: flujos de OAuth y checkout, portales de soporte integrados, pantallas de pago, videollamadas, portales de documentos, web apps interactivas o cualquier flujo donde tu app necesite controles nativos sobre contenido web en vivo.

El nombre del paquete ha cambiado.
  • Presenta la UI de Ionic o Capacitor sobre una página de navegador en vivo con toBack, sendToBack(), bringToFront(), transparentBackground, y dispatchInputEvent().
  • Crea navegadores de pantalla parcial, bottom sheets y webviews picture-in-picture con width, height, x, y, y updateDimensions().
  • Permite que los usuarios toquen la app Capacitor fuera de un frame de navegador de tamaño personalizado en Android e iOS.
  • Ejecuta flujos de checkout, login, soporte o cambio de cuenta sin almacenamiento persistente usando persistWebViewData: false y clearAllBrowsingData().
  • Mantén múltiples instancias del navegador cargadas con hidden, hide(), y show() mientras preservas el estado de la página.
  • Incrusta web apps avanzadas que requieran proxy de peticiones, upload de archivos, downloads, control de popups, soporte para Google Pay, _blank gestión de links y mensajería entre la app y la página.
  • open - Abre una URL en Chrome Custom Tabs en Android o SFSafariViewController en iOS.
  • openWebView - Abre un WebView nativo gestionado con toolbar personalizada, dimensiones, navegación nativa, mensajería, scripting, proxy, downloads, popups y controles de datos.
  • sendToBack / bringToFront - Mueve un navegador gestionado detrás o encima de la WebView host de Capacitor.
  • dispatchInputEvent - Reenvía eventos de click, touch y scroll a un navegador situado detrás de la UI nativa.
  • updateDimensions - Cambia el tamaño y la posición de la WebView gestionada sin recargar la página.
  • hide / show - Mantiene las WebViews gestionadas cargadas mientras se oculta o restaura su presentación nativa.
  • postMessage / executeScript - Conecta la app Capacitor con el JavaScript que se ejecuta dentro de la página gestionada.
  • clearAllBrowsingData / persistWebViewData - Controla cookies, caché, storage, IndexedDB y la persistencia de sesión.
  • handleDownloads, reglas de proxy y eventos de popup - Soporta portales de documentos, flujos de upload, páginas de pago y web apps embebidas.
MétodoDescripción
goBackNavega hacia atrás en el historial del WebView si es posible.
openAbre una URL en una nueva ventana a pantalla completa; en Android usa Chrome Custom Tabs y en iOS usa SFSafariViewController.
clearCookiesLimpiar cookies de la URL cuando id se omite, se aplica a todas las webviews abiertas.
clearAllCookiesLimpiar todas las cookies cuando id se omite, se aplica a todas las webviews abiertas.
clearCacheLimpiar caché cuando id se omite, se aplica a todas las webviews abiertas.
clearAllBrowsingDataElimina cookies, caché, local storage, session storage, IndexedDB y otros datos de navegación del almacén predeterminado y de las WebViews gestionadas.
getCookiesObtiene las cookies de una URL específica.
closeCerrar la webview. Cuando id se omite, cierra la webview activa.
hideOcultar la webview sin cerrarla. Usa show() para volver a mostrarla. Cuando id se omite, apunta a la webview activa.
showMuestra una webview que estaba oculta. Cuando id se omite, apunta a la webview activa.
sendToBackMueve el navegador nativo detrás de la WebView host de Capacitor para que la UI de la app pueda aparecer encima.
bringToFrontTrae al frente un navegador que estaba detrás de la WebView host.
dispatchInputEventEnvía inputs de click, touch o scroll a un navegador gestionado; las coordenadas son relativas al viewport del navegador.
openWebViewAbre una URL en una nueva webview con barras de herramientas y funciones avanzadas, como acceso a la cámara y archivos, escucha de eventos, inyección de javascript, comunicación bidireccional, etc.
executeScriptInyecta JavaScript code en la ventana de InAppBrowser. Cuando id se omite, se ejecuta en todas las webviews abiertas.
postMessageEnvía un evento a la webview (in-app browser). Escúchalo en la página con window.addEventListener('messageFromNative', listenerFunc). El detail payload debe ser serializable en JSON. Cuando id si se omite, se transmite a todas las webviews abiertas.
takeScreenshotCaptura el viewport actual de la webview como una captura de pantalla PNG. Cuando id se omite, apunta a la webview activa.
setUrlEstablece la URL de la webview. Cuando id se omite, apunta a la webview activa.
addListenerEscucha cambios de URL, solo para openWebView.
addListenerEscucha buttonNearDoneClick; el payload contiene la webview id.
addListenerEscucha el clic de cierre solo para openWebView.
addListenerSe activará cuando el usuario haga clic en el botón de confirmación al requerirse un disclaimer; funciona con openWebView, shareDisclaimer y closeModal.
addListenerSe dispara cuando la webview envía un evento de vuelta a la app. Usa window.mobileApp.postMessage(...) en la página, y asegúrate de que el payload sea serializable en JSON.
addListenerSe activará cada vez que se capture una captura de pantalla desde el plugin API, el botón nativo o el bridge de JavaScript inyectado.
addListenerSe activará cuando se cargue la página.
addListenerSe activará cuando ocurra un error al cargar la página.
addListenerSe activará después de que el manejo de descargas nativo guarde un archivo localmente. Actívalo con handleDownloads: true al abrir la webview.
addListenerSe activará cuando falle el manejo de descargas nativo. Actívalo con handleDownloads: true al abrir la webview.
addListenerSe activará cada vez que una página abra un popup o ventana nueva. Usa el popup id devuelto con executeScript, postMessage, show, hide, y close.
addListenerEscucha las peticiones proxy delegadas por el runtime nativo. Es preferible usar addProxyHandler() en lugar de llamar a esto directamente.
addListenerEscucha la salida de la consola de JavaScript emitida por la página gestionada. Actívalo con captureConsoleLogs: true al abrir la webview.
handleProxyRequestMétodo interno utilizado por addProxyHandler() para enviar una decisión de proxy al nativo. Reenvía el original phase al responder a un manual proxyRequest listener manual.
removeAllListenersElimina todos los listeners de este plugin.
reloadRecarga la página web actual.
updateDimensionsActualiza las dimensiones de la webview. Permite cambiar el tamaño y la posición de la webview en tiempo de ejecución. Cuando id se omite, apunta a la webview activa.
setEnabledSafeTopMarginEstablece el margen superior seguro habilitado de la webview en tiempo de ejecución. Cuando id se omite, apunta a la webview activa. En Web, este método no hace nada y se resuelve sin cambiar el layout.
setEnabledSafeBottomMarginEstablece el margen inferior seguro habilitado de la webview en tiempo de ejecución. Cuando id se omite, apunta a la webview activa. En Web, este método no hace nada y se resuelve sin cambiar el layout.
openSecureWindowAbre una ventana OAuth2 segura. En la web, devuelve la URL de redirección mediante un BroadcastChannel; en móvil, registra una URI de redirección personalizada en la configuración de tu app. Consulta la guía de inicio para ver ejemplos de HTML, Info.plist y AndroidManifest.

Usa estos valores con las opciones de la toolbar al abrir un in-app browser o WebView.

ValorEl usuario encontrará
activityToolbar sencilla con controles de cierre y compartir.
compactToolbar sencilla con control de cierre.
navigationBarra de navegación completa con controles de retroceso y avance.
blankNo toolbar.

Esta referencia se sincroniza desde src/definitions.ts en capacitor-inappbrowser.

Si estás usando @capgo/capacitor-inappbrowser para planificar el trabajo con plugins nativos, conéctalo con Uso de @capgo/capacitor-inappbrowser para la capacidad nativa en Uso de @capgo/capacitor-inappbrowser, Directorio de plugins de Capgo para el flujo de trabajo del producto en Capgo Plugin Directory, Plugins de Capacitor por Capgo para el detalle de implementación en los Plugins de Capacitor por Capgo, Añadir o actualizar plugins para el detalle de implementación en Agregar o actualizar plugins, y Alternativas a plugins de Ionic Enterprise para el flujo de trabajo del producto en Alternativas a plugins de Ionic Enterprise.