跳到主要内容
版本:v6

@capacitor/browser

Browser API 提供了在应用内打开浏览器并订阅浏览器事件的能力。

在 iOS 上,此 API 使用 SFSafariViewController,并符合主流 OAuth 服务对应用内浏览器的要求。

安装

npm install @capacitor/browser@latest-6
npx cap sync

Android

变量

此插件将使用以下项目变量(定义在你的应用的 variables.gradle 文件中):

  • androidxBrowserVersion: androidx.browser:browser 的版本(默认:1.7.0

示例

import { Browser } from '@capacitor/browser';

const openCapacitorSite = async () => {
await Browser.open({ url: 'http://capacitorjs.com/' });
};

API

open(...)

open(options: OpenOptions) => Promise<void>

使用指定的选项打开一个页面。

参数类型
options
OpenOptions

自: 1.0.0


close()

close() => Promise<void>

仅 Web 和 iOS:关闭一个已打开的浏览器窗口。

在其他平台上无操作。

自: 1.0.0


addListener('browserFinished', ...)

addListener(eventName: 'browserFinished', listenerFunc: () => void) => Promise<PluginListenerHandle>

仅 Android 和 iOS:监听浏览器完成事件。 当用户关闭浏览器时触发。

参数类型
eventName'browserFinished'
listenerFunc() => void

返回:

Promise<PluginListenerHandle>

自: 1.0.0


addListener('browserPageLoaded', ...)

addListener(eventName: 'browserPageLoaded', listenerFunc: () => void) => Promise<PluginListenerHandle>

仅 Android 和 iOS:监听页面加载完成事件。 它仅在传递给 open 方法的 URL 完成加载时触发。 对于任何后续的页面加载,不会触发此事件。

参数Type
eventName'browserPageLoaded'
listenerFunc() => void

返回:

Promise<PluginListenerHandle>

自: 1.0.0


removeAllListeners()

removeAllListeners() => Promise<void>

移除此插件的所有原生监听器。

自: 1.0.0


接口

OpenOptions

表示传递给 open 的选项。

属性类型描述
urlstring浏览器要打开的 URL。1.0.0
windowNamestring仅 Web:浏览器打开时的可选目标。遵循 window.open 的 target 属性。默认为 _blank。在其他平台上忽略此属性。1.0.0
toolbarColorstring用于设置工具栏颜色的十六进制颜色值。1.0.0
presentationStyle'fullscreen' | 'popover'仅 iOS:浏览器的呈现样式。默认为全屏。在其他平台上忽略此属性。1.0.0
widthnumber仅 iOS:在使用 'popover' 呈现样式时,浏览器在 iPad 上的宽度。在其他平台上忽略此属性。4.0.0
heightnumber仅 iOS:在使用 'popover' 呈现样式时,浏览器在 iPad 上的高度。在其他平台上忽略此属性。4.0.0

PluginListenerHandle

属性类型
remove() => Promise<void>