概述
概述部分@capgo/capacitor-inappbrowser 为 Capacitor 应用程序提供两个浏览器路径: open() 用于系统浏览器体验和 openWebView() 用于管理的本机 WebView,应用程序可以调整大小、隐藏、发送消息、脚本、代理和层化 Ionic UI。
在页面需要更多简单外部浏览器时使用:OAuth 和结帐流程、嵌入式支持门户、付款屏幕、视频呼叫、文档门户、交互式 Web 应用程序或任何流程,其中应用程序需要在实时 Web 内容周围拥有本机控制。
包名已更改。常见用例
常见用例- 在一个实时浏览器页面上呈现Ionic或Capacitor UI
toBack,sendToBack(),bringToFront(),transparentBackground、dispatchInputEvent(). - 构建部分屏幕浏览器、底部弹出窗口和画中画webview
width,height,x,y、updateDimensions(). - 在Android和iOS上让用户在一个自定义大小的浏览器框架外点击Capacitor应用
- 使用
persistWebViewData: false不需要持久的网站存储来运行checkout、login、support或account-switching流程clearAllBrowsingData(). - 和
hidden,hide()在多个浏览器实例中保持show()、 - 嵌入需要请求代理、文件上传、下载、Google Pay 支持、链接处理和应用到页面消息的高级 Web 应用程序。
_blank核心功能
open- 在自定义工具栏、自定义大小、原生导航、消息、脚本、代理、下载、弹出窗口和数据控制的管理原生 WebView 中打开 URL。SFSafariViewController- 将管理的浏览器放在或移至__CAPGO_KEEP_0__主机 WebView 之后。openWebView- 将点击、触摸和滚动事件转发到后面的原生应用 UI 后的浏览器。sendToBack/bringToFront- Moves a managed browser behind or above the Capacitor host WebView.dispatchInputEvent- 在移除或恢复其原生呈现时保持管理的 WebView 加载。updateDimensions- 将__CAPGO_KEEP_0__应用连接到 JavaScript 运行在管理的页面内。hide/show- 将__CAPGO_KEEP_0__应用连接到 JavaScript 运行在管理的页面内。postMessage/executeScript- 将Capacitor应用连接到 JavaScript 运行在管理的页面内。clearAllBrowsingData/persistWebViewData- 控制 cookie、缓存、存储、 IndexedDB 和会话持久性。handleDownloads- 支持文档门户、上传流程、支付页面和嵌入式 Web 应用程序。
公共 API
公共 API| 方法 | 描述 |
|---|---|
goBack | 如果可能, WebView 历史记录中向后导航。 |
open | 在 Android 上使用 Chrome 自定义标签页,在 iOS 上使用 SFSafariViewController 打开 URL 在全屏幕新窗口中。 |
clearCookies | 清除 URL 的 cookie 当 id 不指定时,适用于所有打开的 Webview。 |
clearAllCookies | 清除所有 cookie 当 id 不指定时,适用于所有打开的 Webview。 |
clearCache | 清除缓存 When id 如果省略,应用于所有打开的 webview。 |
clearAllBrowsingData | 清除 cookies、缓存、localStorage、sessionStorage、IndexedDB 和其他浏览数据从默认存储和管理的 WebView。 |
getCookies | 获取一个特定 URL 的 cookies。 |
close | 关闭 webview。 When id 如果省略,关闭活动的 webview。 |
hide | 隐藏 webview 而不关闭它。使用 show() 来将其恢复。 When id 如果省略,目标活动的 webview。 |
show | 显示一个之前隐藏的 webview。 When id 如果省略,目标活动的 webview。 |
sendToBack | 将本机浏览器移到Capacitor主机 WebView 后面,以便应用 UI 可以在其上方出现。 |
bringToFront | 将一个浏览器移到主机 WebView 后面移到前面。 |
dispatchInputEvent | 将点击、触摸或滚动输入分发到一个受管理的浏览器中;坐标相对于浏览器视图区域。 |
openWebView | 在一个带有工具栏和增强功能的新webview中打开url,例如摄像头访问、文件访问、监听事件、注入javascript、双向通信等。 |
executeScript | 将javascript code 注入InAppBrowser窗口中。当 id 省略时,在所有打开的webview中执行。 |
postMessage | 向webview(内嵌浏览器)发送一个事件。监听在页面中使用 window.addEventListener('messageFromNative', listenerFunc)。事件载荷必须是可JSON序列化的。当 detail 省略时,广播到所有打开的webview中。 id 捕获当前webview视图区域作为一个PNG截图。当 |
takeScreenshot | 省略时,目标是活动的webview。 id 设置webview的URL。当 |
setUrl | 省略时,目标是活动的webview。 id 设置webview的标题。当""省略时,目标是活动的webview。 |
addListener | 监听 URL 变化,仅限于打开 WebView。 |
addListener | 监听 buttonNearDoneClick; payload 中包含 WebView id. |
addListener | 仅监听打开 WebView 时的关闭点击。 |
addListener | 当用户点击确认按钮时触发,适用于 openWebView 的 shareDisclaimer 和 closeModal。 |
addListener | 当 WebView 向应用发送事件时触发。使用 window.mobileApp.postMessage(...) 在页面中使用,并确保 payload 可以 JSON 序列化。 |
addListener | 当插件 API、原生截屏按钮或注入的 JavaScript 桥捕获截屏时触发。 |
addListener | 当页面加载时触发。 |
addListener | 当页面加载错误时触发。 |
addListener | 当原生下载处理保存文件到本地时触发。启用此功能时,请使用 handleDownloads: true 当打开 WebView 时启用此功能。 |
addListener | When native download handling fails, this will be triggered. Enable this with __CAPGO_KEEP_0__. handleDownloads: true When opening the webview, __CAPGO_KEEP_0__. |
addListener | When a page opens a popup/new window, this will be triggered. Use the returned popup id with __CAPGO_KEEP_1__ and __CAPGO_KEEP_2__. executeScript, postMessage, show, hideListen for proxied requests delegated by the native runtime. Prefer __CAPGO_KEEP_3__ instead of calling this directly. close. |
addListener | Listen for JavaScript console output emitted by the managed page. Enable this with __CAPGO_KEEP_0__ when opening the webview. addProxyHandler() Internal method used by __CAPGO_KEEP_4__ to send a proxy decision back to native. Forward the original __CAPGO_KEEP_5__ when replying to a manual __CAPGO_KEEP_6__ listener. |
addListener | Will be triggered when native download handling fails. Enable this with __CAPGO_KEEP_0__. captureConsoleLogs: true When opening the webview, __CAPGO_KEEP_0__. |
handleProxyRequest | When a page opens a popup/new window, this will be triggered. Use the returned popup id with __CAPGO_KEEP_1__ and __CAPGO_KEEP_2__. addProxyHandler() Listen for proxied requests delegated by the native runtime. Prefer __CAPGO_KEEP_3__ instead of calling this directly. phase Listen for JavaScript console output emitted by the managed page. Enable this with __CAPGO_KEEP_0__ when opening the webview. proxyRequest Internal method used by __CAPGO_KEEP_4__ to send a proxy decision back to native. Forward the original __CAPGO_KEEP_5__ when replying to a manual __CAPGO_KEEP_6__ listener. |
removeAllListeners | 移除此插件的所有监听器。 |
reload | 重新加载当前网页。 |
updateDimensions | 更新 webview 的尺寸。允许在运行时更改 webview 的大小和位置。当 id 省略时,目标是活动的 webview。 |
setEnabledSafeTopMargin | 设置 webview 在运行时的启用安全顶部边距。省略 id 时,目标是活动的 webview。On Web,这个方法是无效的,并且不会改变布局。 |
setEnabledSafeBottomMargin | 设置 webview 在运行时的启用安全底部边距。省略 id 时,目标是活动的 webview。On Web,这个方法是无效的,并且不会改变布局。 |
openSecureWindow | 在安全的 OAuth2 窗口中打开。On web,通过 BroadcastChannel返回重定向的 URL;在移动设备上,注册一个自定义重定向 URI 在应用配置中。见获取启动指南以获取完整的 HTML、Info.plist 和 AndroidManifest 示例。 |
参考值
参考值使用这些值与工具栏选项打开内嵌浏览器或WebView时。
工具栏类型
工具栏类型标题| 值 | 用户将找到 |
|---|---|
activity | 带有关闭和分享控件的简单工具栏. |
compact | 带有关闭控件的简单工具栏. |
navigation | 带有后退和前进控件的全导航工具栏. |
blank | 无工具栏. |
真实来源
真实来源标题此参考是从__CAPGO_KEEP_0__同步的。 src/definitions.ts 在 capacitor-inappbrowser.
继续在 @capgo/capacitor-inappbrowser 中
标题:继续在 @capgo/capacitor-inappbrowser 中如果您正在使用 @capgo/capacitor-inappbrowser 来规划原生插件工作,连接它到 使用 @capgo/capacitor-inappbrowser 来实现原生能力的使用 @capgo/capacitor-inappbrowser Capgo 插件目录 来实现产品工作流程的 Capgo 插件目录 Capacitor 由 Capgo 提供的插件 关于在 Capacitor 插件中实现详细信息的 Capgo 添加或更新插件 关于添加或更新插件的实现详细信息, Ionic 企业插件替代品 关于 Ionic 企业插件替代品的产品工作流程。