跳过内容

@capgo/capacitor-内置浏览器

Capacitor内置浏览器

概述

概述

@capgo/capacitor-inappbrowser 为 Capacitor 应用提供两个浏览器路径: open() 用于系统浏览器体验和 openWebView() 用于管理的本机 WebView,应用可以调整大小、隐藏、发送消息、脚本、代理和层级与 Ionic UI。

使用它时,页面需要更多的简单外部浏览器:OAuth 和结帐流程、嵌入式支持门户、付款屏幕、视频呼叫、文档门户、交互式 Web 应用或任何流程,其中应用需要本机控制器围绕实时 Web 内容。

包名已更改。

常见用例

常见用例
  • 在 live 浏览器页面上呈现 Ionic 或 Capacitor UI toBack, sendToBack(), bringToFront(), transparentBackground,和 dispatchInputEvent().
  • 构建部分屏幕浏览器、底部弹出窗口和画中画web视图 width, height, x, y,和 updateDimensions().
  • 让用户在Android和iOS设备上通过Capacitor应用程序外部点击自定义大小浏览器框架
  • 在不使用持久性网站存储的情况下运行checkout、登录、支持或切换账户流程 persistWebViewData: false 和 clearAllBrowsingData().
  • 保持多个浏览器实例加载 hidden, hide(),和 show() 同时保留页面状态
  • 嵌入需要请求代理、文件上传、下载、弹出控制、Google Pay支持、链接处理和应用到页面消息的高级web应用 _blank 核心功能

核心功能

Core Capabilities
  • open - 在 Android 上使用 Chrome 自定义标签打开 URL SFSafariViewController 在 iOS 上。
  • openWebView - 打开一个受管理的本机 WebView,带有自定义工具栏、大小、原生导航、消息、脚本、代理、下载、弹出窗口和数据控制。
  • sendToBack / bringToFront 移动管理的浏览器到Capacitor主机WebView的前面或后面。
  • dispatchInputEvent - 将点击、触摸和滚动事件转发到后台的浏览器。
  • updateDimensions - 更改管理 WebView 的大小和位置,避免重新加载页面。
  • hide / show - 在移除或恢复原生呈现时,保持管理的 WebViews 加载。
  • postMessage / executeScript - Connects the Capacitor app with JavaScript running inside the managed page.
  • clearAllBrowsingData / persistWebViewData - 控制cookie、缓存、存储、IndexedDB和会话持久性。
  • handleDownloads,代理规则和弹出事件 - 支持文档门户、上传流程、支付页面和嵌入式Web应用。
方法描述
goBack如果可能,浏览器的历史记录中向后导航。
open在 Android 上使用 Chrome 自定义标签,在 iOS 上使用 SFSafariViewController 打开 URL 在全屏幕中。
clearCookies清除 URL 的 Cookie 当 id 省略时,适用于所有打开的 Webview。
clearAllCookies清除所有 Cookie 当 id 省略时,适用于所有打开的 Webview。
clearCache清除缓存当 id 省略时,适用于所有打开的 Webview。
clearAllBrowsingData清除默认存储和管理的 Webview 中的 Cookie、缓存、本地存储、会话存储、IndexedDB 和其他浏览数据。
getCookies获取特定 URL 的 cookie。
close关闭 webview。 id 当省略时,关闭当前 webview。
hide隐藏 webview,而不关闭它。使用 show() 可以将其恢复。省略时,目标当前 webview。 id 显示之前隐藏的 webview。省略时,目标当前 webview。
show将本机浏览器移到 __CAPGO_KEEP_0__ 主机 WebView 后面,以便应用 UI 可以出现在其上方。 id 显示之前隐藏的 webview。省略时,目标当前 webview。
sendToBack移动原生浏览器到Capacitor主机WebView后台,以便应用UI可以出现在其上方。
bringToFront将点击、触摸或滚动输入分发到管理的浏览器;坐标相对于浏览器视图口。
dispatchInputEvent在具有工具栏、增强功能(如摄像头访问、文件访问、监听事件、注入 JavaScript、双向通信等)以及新 webview 中打开 URL。
openWebView将 JavaScript __CAPGO_KEEP_0__ 注入 InAppBrowser 窗口中。省略时,目标当前 webview。
executeScript将 JavaScript code 注入 InAppBrowser 窗口中。当 id 如果省略,执行所有打开的webview。
postMessage向webview(内嵌浏览器)发送事件。 在页面中使用 window.addEventListener('messageFromNative', listenerFunc)。 detail 的载荷必须是可序列化的JSON。 当 id 省略时,广播到所有打开的webview。
takeScreenshot捕获当前webview视图作为PNG截图。 当 id 省略时,目标是活动的webview。
setUrl设置webview的URL。 当 id 省略时,目标是活动的webview。
addListener监听URL变化,只针对openWebView。
addListener监听 buttonNearDoneClick;载荷包含webview id.
addListener仅在打开的 WebView 中监听关闭点击。
addListener当用户点击确认按钮时触发,用于开启 WebView 的 shareDisclaimer 和 closeModal。
addListener当 WebView 发送事件回应用时触发。使用 window.mobileApp.postMessage(...) 在页面中使用,并确保 payload 可以 JSON 序列化。
addListener当插件 API、原生截屏按钮或注入的 JavaScript 桥截屏时触发。
addListener当页面加载时触发。
addListener当页面加载错误时触发。
addListener当原生下载处理保存文件本地时触发。通过 handleDownloads: true 当原生下载处理失败时触发。通过
addListener当页面打开弹窗/新窗口时触发。使用返回的弹窗 ID 与 handleDownloads: true 当原生下载处理失败时触发。通过
addListener当页面打开弹出窗口/新窗口时会触发。使用返回的弹出窗口ID executeScript, postMessage, show, hide, 和 close.
addListener监听由原生运行时委托的代理请求。优先 addProxyHandler() 而不是直接调用此方法。
addListener监听由管理页面发出的JavaScript控制台输出。通过 captureConsoleLogs: true 来启用此功能,
handleProxyRequest当打开webview时。 addProxyHandler() 内部方法由 phase 用于将代理决策发送回原生。将原始 proxyRequest 当回复手动
removeAllListeners监听器时转发。
reload移除此插件的所有监听器。
updateDimensions重新加载当前web页。 id 如果省略,目标是当前的webview。
setEnabledSafeTopMargin设置webview在运行时的启用安全顶部边距。当 id 如果省略,目标是当前的webview。在Web上,这个方法是无操作的,并且在不改变布局的情况下解析。
setEnabledSafeBottomMargin设置webview在运行时的启用安全底部边距。当 id 如果省略,目标是当前的webview。在Web上,这个方法是无操作的,并且在不改变布局的情况下解析。
openSecureWindow打开一个安全的OAuth2窗口。 在web中,返回重定向的URL通过一个回调函数。 BroadcastChannel参考值

工具栏类型

标题:工具栏类型

__CAPGO_KEEP_0__
值用户会发现
activity带有关闭和分享控制的简单工具栏。
compact带有关闭控制的简单工具栏。
navigation带有前进和后退控制的完整导航工具栏。
blank没有工具栏。

此参考资料是从 src/definitions.ts 在 capacitor-inappbrowser.

capgo从@capacitor/capacitor-inappbrowser继续

Section titled “从@capgo/capacitor-inappbrowser继续”

如果您正在使用 @capgo/capacitor-内置浏览器 与其连接 使用@capgo/capacitor-inappbrowser 为native能力在使用@capgo/capacitor-inappbrowser中 Capgo 插件目录 为产品工作流程在Capgo Plugin Directory中 Capacitor Capgo 由 Capgo 提供的插件 为实现细节在Capacitor Plugins by Capgo中 添加或更新插件 为实现细节在添加或更新插件中 Ionic 企业版插件替代方案 Ionic Enterprise Plugin Alternatives