跳过内容

@capgo/capacitor-inapp浏览器

Native in-app browser for Capacitor with managed WebViews, native UI layering, private sessions, proxying, downloads, popups, and app messaging.

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

在需要更多一个简单外部浏览器功能的页面时使用:OAuth 和结算流程,嵌入式支持门户,付款屏幕,视频通话,文档门户,交互式Web应用,或者任何流程中您的应用需要在实时Web内容上native控制。

包名已更改。
  • 在live浏览器页面上呈现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 Core Capabilities
  • 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清除Cookie、缓存、本地存储、会话存储、IndexedDB和其他浏览数据从默认存储和管理的WebViews。
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 的载荷必须是可序列化的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当本地保存文件时将触发本地下载处理。通过 handleDownloads: true 在打开Web视图时启用。
addListener当本地下载处理失败时将触发。通过 handleDownloads: true 在打开Web视图时启用。
addListener当页面打开弹出窗口/新窗口时将触发。使用返回的弹出窗口ID与 executeScript, postMessage, show, hide, close.
addListener监听由本地运行时代理的请求。优先 addProxyHandler() 而不是直接调用此方法。
addListener监听由管理页面发出的JavaScript控制台输出。通过 captureConsoleLogs: true 在打开Web视图时启用。
handleProxyRequest由内部方法使用 addProxyHandler() 向原生发送一个代理决策。将原始内容转发给 phase 当回复一个手动 proxyRequest 监听器。
removeAllListeners移除此插件的所有监听器。
reload重新加载当前网页。
updateDimensions更新 webview 的尺寸。允许在运行时改变 webview 的大小和位置。当 id 设置 webview 在运行时的启用安全顶部边距。当
setEnabledSafeTopMargin设置 webview 在运行时的启用安全底部边距。当 id 在 webview 中打开一个安全的 OAuth2 窗口。在 web 上,通过返回重定向 URL 来
setEnabledSafeBottomMargin设置 webview 的安全顶部边距。On Web, id 设置 webview 的安全底部边距。On Web,
openSecureWindow设置 webview 的安全顶部边距。On Web, 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 企业插件替代品。