@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: false和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.dispatchInputEventCore CapabilitiesupdateDimensions- 改变管理的 WebView 尺寸和位置, 不需要重新加载页面.hide/show- 保持管理的 WebView 加载, 即使移除或恢复其本机呈现.postMessage/executeScript- 连接 Capacitor 应用程序与 JavaScript 运行在管理页面内.clearAllBrowsingData/persistWebViewData- 控制 cookie, 缓存, 存储, IndexedDB 和会话持久性.handleDownloads- 支持门户文件, 上传流程, 支付页面和嵌入式 Web 应用程序 - 代理规则和弹出事件.
- 公共 API
- 标题 "公共 API"| - 方法 | - 描述 |
|---|---|
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.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 企业插件替代品。