@capacitor/browser
浏览器 API 提供了在应用程序内打开浏览器并订阅浏览器事件的功能。
在 iOS 上,它使用 SFSafariViewController
并且符合领先的 OAuth 服务应用内浏览器要求。
安装
npm install @capacitor/browser
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:监听浏览器完成事件。当用户关闭浏览器时触发。
参数 | 类型 |
---|---|
事件名称 | 'browserFinished' |
监听器函数 | () => void |
返回: Promise<PluginListenerHandle>
自 1.0.0
addListener('browserPageLoaded', ...)
addListener(eventName: 'browserPageLoaded', listenerFunc: () => void) => Promise<PluginListenerHandle>
仅限 Android 和 iOS:监听页面加载事件。仅当传递给 open 方法的 URL 完成加载时触发。它不会为任何后续页面加载调用。
参数 | 类型 |
---|---|
事件名称 | 'browserPageLoaded' |
监听器函数 | () => void |
返回: Promise<PluginListenerHandle>
自 1.0.0
removeAllListeners()
removeAllListeners() => Promise<void>
删除此插件的所有原生监听器。
自 1.0.0
接口
OpenOptions
表示传递给 open
的选项。
属性 | 类型 | 描述 | 自 |
---|---|---|---|
url | 字符串 | 打开浏览器的 URL。 | 1.0.0 |
windowName | 字符串 | 仅限 Web:浏览器打开的可选目标。遵循 window.open 的 target 属性。默认为 _blank。在其他平台上忽略。 | 1.0.0 |
toolbarColor | 字符串 | 设置工具栏颜色的十六进制颜色。 | 1.0.0 |
presentationStyle | 'fullscreen' | 'popover' | 仅限 iOS:浏览器的显示样式。默认为全屏。在其他平台上忽略。 | 1.0.0 |
width | 数字 | 仅限 iOS:在 iPad 上使用 presentationStyle 'popover' 时浏览器的宽度。在其他平台上忽略。 | 4.0.0 |
height | 数字 | 仅限 iOS:在 iPad 上使用 presentationStyle 'popover' 时浏览器的宽度。在其他平台上忽略。 | 4.0.0 |
PluginListenerHandle
属性 | 类型 |
---|---|
remove | () => Promise<void> |