@capacitor/browser
Browser API 提供了在应用内打开浏览器并订阅浏览器事件的能力。
在 iOS 上,该插件使用 SFSafariViewController,并符合主流 OAuth 服务对应用内浏览器的要求。
安装
npm install @capacitor/browser
npx cap sync
Android
变量
此插件将使用以下项目变量(定义在你的应用的 variables.gradle 文件中):
$androidxBrowserVersion:androidx.browser:browser的版本 (默认:1.4.0)
示例
import { Browser } from '@capacitor/browser';
const openCapacitorSite = async () => {
await Browser.open({ url: 'http://capacitorjs.com/' });
};
API
open(...)
open(options: OpenOptions) => Promise<void>
使用指定的选项打开一个页面。
| 参数 | 类型 |
|---|---|
options | |
自: 1.0.0
close()
close() => Promise<void>
仅限 Web 和 iOS 平台:关闭一个打开的浏览器窗口。
在其他平台上是空操作(无效果)。
自: 1.0.0
addListener('browserFinished', ...)
addListener(eventName: 'browserFinished', listenerFunc: () => void) => Promise<PluginListenerHandle> & PluginListenerHandle
仅限 Android 和 iOS 平台:监听浏览器完成事件。 当用户关闭浏览器时触发。
| 参数 | 类型 |
|---|---|
eventName | 'browserFinished' |
listenerFunc | () => void |
返回:
Promise<PluginListenerHandle> & PluginListenerHandle
自: 1.0.0
addListener('browserPageLoaded', ...)
addListener(eventName: 'browserPageLoaded', listenerFunc: () => void) => Promise<PluginListenerHandle> & PluginListenerHandle
仅限 Android 和 iOS 平台:监听页面加载完成事件。 此事件仅在传递给 open 方法的 URL 完成加载时触发。 对于后续的任何页面加载都不会触发。
| 参数 | Type |
|---|---|
eventName | 'browserPageLoaded' |
listenerFunc | () => void |
返回:
Promise<PluginListenerHandle> & PluginListenerHandle
自: 1.0.0
removeAllListeners()
removeAllListeners() => Promise<void>
移除此插件的所有原生监听器。
自: 1.0.0
接口
OpenOptions
表示传递给 open 方法的选项。
| 属性 | 类型 | 描述 | 自 |
|---|---|---|---|
url | string | 浏览器将打开的 URL。 | 1.0.0 |
windowName | string | 仅限 Web 平台:浏览器打开的可选目标。遵循 window.open 的 target 属性。默认为 _blank。在其他平 台上被忽略。 | 1.0.0 |
toolbarColor | string | 一个十六进制颜色值,用于设置工具栏颜色。 | 1.0.0 |
presentationStyle | 'fullscreen' | 'popover' | 仅限 iOS 平台:浏览器的呈现样式。默认为 fullscreen。在其他平台上被忽略。 | 1.0.0 |
width | number | 仅限 iOS 平台:当在 iPad 上使用 presentationStyle 'popover' 时,浏览器的宽度。在其他平台上被忽略。 | 4.0.0 |
height | number | 仅限 iOS 平台:当在 iPad 上使用 presentationStyle 'popover' 时,浏览器的高度。在其他平台上被忽略。 | 4.0.0 |
PluginListenerHandle
| 属性 | 类型 |
|---|---|
remove | () => Promise<void> |