概述
概述@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核心功能
open- 在 Android 上使用 Chrome 自定义标签打开 URLSFSafariViewController在 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应用。
Public API
Section titled “公共API”| 方法 | 描述 |
|---|---|
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