Skip to main content
Version: v7

@capacitor/browser

The Browser API provides the ability to open an in-app browser and subscribe to browser events.

On iOS, this uses SFSafariViewController and is compliant with leading OAuth service in-app-browser requirements.

Install

npm install @capacitor/browser
npx cap sync

Android

Variables

This plugin will use the following project variables (defined in your app's variables.gradle file):

  • androidxBrowserVersion: version of androidx.browser:browser (default: 1.7.0)

Example

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

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

API

open(...)

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

Open a page with the specified options.

ParamType
optionsOpenOptions

Since: 1.0.0


close()

close() => Promise<void>

Web & iOS only: Close an open browser window.

No-op on other platforms.

Since: 1.0.0


addListener('browserFinished', ...)

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

Android & iOS only: Listen for the browser finished event. It fires when the Browser is closed by the user.

ParamType
eventName'browserFinished'
listenerFunc() => void

Returns: Promise<PluginListenerHandle>

Since: 1.0.0


addListener('browserPageLoaded', ...)

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

Android & iOS only: Listen for the page loaded event. It's only fired when the URL passed to open method finish loading. It is not invoked for any subsequent page loads.

ParamType
eventName'browserPageLoaded'
listenerFunc() => void

Returns: Promise<PluginListenerHandle>

Since: 1.0.0


removeAllListeners()

removeAllListeners() => Promise<void>

Remove all native listeners for this plugin.

Since: 1.0.0


Interfaces

OpenOptions

Represents the options passed to open.

PropTypeDescriptionSince
urlstringThe URL to which the browser is opened.1.0.0
windowNamestringWeb only: Optional target for browser open. Follows the target property for window.open. Defaults to _blank. Ignored on other platforms.1.0.0
toolbarColorstringA hex color to which the toolbar color is set.1.0.0
presentationStyle'fullscreen' | 'popover'iOS only: The presentation style of the browser. Defaults to fullscreen. Ignored on other platforms.1.0.0
widthnumberiOS only: The width the browser when using presentationStyle 'popover' on iPads. Ignored on other platforms.4.0.0
heightnumberiOS only: The height the browser when using presentationStyle 'popover' on iPads. Ignored on other platforms.4.0.0

PluginListenerHandle

PropType
remove() => Promise<void>