@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:監聽瀏覽器完成事件。當使用者關閉瀏覽器時會觸發。
參數 | 類型 |
---|---|
eventName | 'browserFinished' |
listenerFunc | () => void |
回傳: Promise<PluginListenerHandle>
自 1.0.0
addListener('browserPageLoaded', ...)
addListener(eventName: 'browserPageLoaded', listenerFunc: () => void) => Promise<PluginListenerHandle>
僅限 Android 和 iOS:監聽頁面載入事件。僅當傳遞給 open 方法的 URL 完成載入時才會觸發。不會為任何後續的頁面載入呼叫。
參數 | 類型 |
---|---|
eventName | 'browserPageLoaded' |
listenerFunc | () => void |
回傳: Promise<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:瀏覽器的呈現樣式。預設為全螢幕。在其他平台上會被忽略。 | 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> |