跳过内容

@capgo/capacitor-inapp浏览器

本地内嵌浏览器为Capacitor提供了管理的WebViews、本地UI层次、私有会话、代理、下载、弹出窗口和应用消息。

@capgo/capacitor-inappbrowser gives Capacitor apps two browser paths: open() 用于管理的本机 WebView,允许您的应用调整大小、隐藏、发送消息、脚本、代理和层叠 Ionic UI。 openWebView() App Store

在需要更复杂的外部浏览器功能时使用:OAuth 和结帐流程、嵌入式支持门户、付款屏幕、视频通话、文档门户、交互式 Web 应用或任何流程,需要在实时 Web 内容上使用原生控制器。

包名已更改。
  • 在一个实时浏览器页面上呈现Ionic 或 Capacitor UI toBack, sendToBack(), bringToFront(), transparentBackground, 和 dispatchInputEvent().
  • 构建部分屏幕浏览器、底部弹出窗口和画中画 Web 视图 width, height, x, y, 和 updateDimensions().
  • 让用户在 Android 和 iOS 上通过 Capacitor 应用程序外部点击一个自定义大小的浏览器框架。
  • 在不使用持久性网站存储的情况下,使用 persistWebViewData: falseclearAllBrowsingData().
  • 使用 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 - 将点击、触摸和滚动事件转发到原生应用 UI 后面的浏览器。
  • updateDimensions - 修改了管理的 WebView 的大小和位置, 不需要重新加载页面.
  • hide / show - 保持管理的 WebView 加载, 移除或恢复其本机呈现.
  • postMessage / executeScript - 连接 Capacitor 应用程序与 JavaScript 运行在管理的页面内.
  • clearAllBrowsingData / persistWebViewData - 控制 cookie, 缓存, 存储, IndexedDB 和会话持久性.
  • handleDownloads- 支持文档门户, 上传流程, 支付页面和嵌入式 Web 应用.
- 方法- 描述
goBack- 如果可能, 在 WebView 的历史记录中后退.
open- 在 Android 上使用 Chrome 自定义标签, 在 iOS 上使用 SFSafariViewController 打开 URL 在全屏窗口中.
clearCookies- 清除 URL 的 cookie 时 id 不填时,适用于所有打开的网页视图。
clearAllCookies清除所有 cookie 当 id 不填时,适用于所有打开的网页视图。
clearCache清除缓存 当 id 不填时,适用于所有打开的网页视图。
clearAllBrowsingData清除 cookies、缓存、本地存储、会话存储、IndexedDB 和其他浏览数据从默认存储和管理的 WebView。
getCookies获取一个特定 URL 的 cookie。
close关闭网页视图。 当 id 不填时,关闭当前活动的网页视图。
hide隐藏网页视图而不关闭它。使用 show() 可以将其恢复。 当 id 不填时,目标当前活动的网页视图。
show显示一个之前隐藏的网页视图。 当 id 如果省略,目标是激活的webview。
sendToBack将原生浏览器移动到Capacitor主机WebView后面,以便应用UI可以出现在它上面。
bringToFront将一个在主机WebView后面的浏览器移动到前面。
dispatchInputEvent将点击、触摸或滚动输入分发到管理的浏览器中;坐标相对于浏览器视图。
openWebView在一个新的webview中打开url,带有工具栏和增强功能,如摄像头访问、文件访问、监听事件、注入javascript、双向通信等。
executeScript将javascriptcode注入InAppBrowser窗口中。当 id 省略时,执行所有打开的webview。
postMessage向webview(内嵌浏览器)发送事件。监听页面中的 window.addEventListener('messageFromNative', listenerFunc)detail payload必须是可序列化的JSON。当 id 省略时,广播到所有打开的webview。
takeScreenshot捕获当前webview视图作为一个PNG截图。当 id 如果省略,目标是当前的webview。
setUrl设置webview的URL。当 id 如果省略,目标是当前的webview。
addListener仅在openWebView时监听URL变化。
addListener仅在openWebView时监听 buttonNearDoneClick;载荷包含webview id.
addListener仅在openWebView时监听关闭点击。
addListener当用户点击确认按钮时触发,需要与openWebView shareDisclaimer和closeModal一起使用。
addListener当webview将事件发送回应用时触发。使用 window.mobileApp.postMessage(...) 在页面中使用,并确保载荷是JSON可序列化的。
addListener在插件API、原生截图按钮或注入的JavaScript桥梁捕获截图时触发。
addListener当页面加载时触发。
addListener当页面加载错误时将触发。
addListener当本地保存文件时,native下载处理将触发此事件。通过 handleDownloads: true 在打开webview时启用此选项。
addListener当native下载处理失败时将触发此事件。通过 handleDownloads: true 在打开webview时启用此选项。
addListener当页面打开弹出窗口/新窗口时将触发此事件。使用返回的弹出窗口ID与 executeScript, postMessage, show, hideclose.
addListener监听由native运行时代理的请求。优先 addProxyHandler() 而不是直接调用此方法。
addListener监听由管理页面发出的JavaScript控制台输出。通过 captureConsoleLogs: true 在打开webview时启用此选项。
handleProxyRequest由内部方法使用 addProxyHandler() 向原生发送一个代理决策。将原始内容转发给 phase 当回复一个手动 proxyRequest 监听器。
removeAllListeners移除此插件的所有监听器。
reload重新加载当前网页。
updateDimensions更新 webview 的尺寸。允许在运行时更改 webview 的大小和位置。当 id 设置 webview 在运行时的启用安全顶部边距。当
setEnabledSafeTopMargin设置 webview 在运行时的启用安全底部边距。当 id 在 webview 中打开一个安全的 OAuth2 窗口。在 web 中,通过返回重定向的 URL 来
setEnabledSafeBottomMargin__CAPGO_KEEP_0__ id __CAPGO_KEEP_1__
openSecureWindow__CAPGO_KEEP_2__ BroadcastChannel; 在移动设备上,注册一个自定义的重定向 URI 在您的应用配置中。 请参阅快速入门指南以获取完整的 HTML、Info.plist 和 AndroidManifest 示例。

使用这些值与工具栏选项打开内嵌浏览器或 WebView 时。

用户将找到
activity带有关闭和分享控件的简单工具栏。
compact带有关闭控件的简单工具栏。
navigation带有后退和前进控件的全功能导航工具栏。
blank没有工具栏。

此参考资料是从 src/definitions.tscapacitor-inappbrowser.

继续阅读来自@capgo/capacitor-inappbrowser

名为“继续阅读来自@capgo/capacitor-inappbrowser”的部分

如果您正在使用 @capgo/capacitor-inappbrowser 来规划原生插件工作,连接它到 使用@capgo/capacitor-inappbrowser 原生能力在使用@capgo/capacitor-inappbrowser Capgo 插件目录 为产品工作流程在 Capgo 插件目录中 Capacitor 插件由 Capgo 为实现细节在 Capacitor 插件由 Capgo 中 添加或更新插件 为实现细节在添加或更新插件,并 Ionic 企业插件替代品 为产品工作流程在 Ionic 企业插件替代品中