
Security News
The Changelog Podcast: Practical Steps to Stay Safe on npm
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.
@capacitor/browser
Advanced tools
The Browser API provides the ability to open an in-app browser and subscribe to browser events.
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.
npm install @capacitor/browser
npx cap sync
This plugin will use the following project variables (defined in your app's variables.gradle file):
androidxBrowserVersion: version of androidx.browser:browser (default: 1.8.0)import { Browser } from '@capacitor/browser';
const openCapacitorSite = async () => {
await Browser.open({ url: 'http://capacitorjs.com/' });
};
open(...)close()addListener('browserFinished', ...)addListener('browserPageLoaded', ...)removeAllListeners()open(options: OpenOptions) => Promise<void>
Open a page with the specified options.
| Param | Type |
|---|---|
options | OpenOptions |
Since: 1.0.0
close() => Promise<void>
Web & iOS only: Close an open browser window.
No-op on other platforms.
Since: 1.0.0
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.
| Param | Type |
|---|---|
eventName | 'browserFinished' |
listenerFunc | () => void |
Returns: Promise<PluginListenerHandle>
Since: 1.0.0
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.
| Param | Type |
|---|---|
eventName | 'browserPageLoaded' |
listenerFunc | () => void |
Returns: Promise<PluginListenerHandle>
Since: 1.0.0
removeAllListeners() => Promise<void>
Remove all native listeners for this plugin.
Since: 1.0.0
Represents the options passed to open.
| Prop | Type | Description | Since |
|---|---|---|---|
url | string | The URL to which the browser is opened. | 1.0.0 |
windowName | string | Web only: Optional target for browser open. Follows the target property for window.open. Defaults to _blank. Ignored on other platforms. | 1.0.0 |
toolbarColor | string | A 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 |
width | number | iOS only: The width the browser when using presentationStyle 'popover' on iPads. Ignored on other platforms. | 4.0.0 |
height | number | iOS only: The height the browser when using presentationStyle 'popover' on iPads. Ignored on other platforms. | 4.0.0 |
| Prop | Type |
|---|---|
remove | () => Promise<void> |
The `cordova-plugin-inappbrowser` plugin provides similar functionality for Cordova-based applications. It allows you to open URLs in an in-app browser and provides various options for customization. Compared to @capacitor/browser, it is designed for Cordova rather than Capacitor, but offers similar capabilities.
The `react-native-inappbrowser-reborn` package provides in-app browser functionality for React Native applications. It allows you to open URLs in a browser view within the app and offers various customization options. Compared to @capacitor/browser, it is tailored for React Native rather than Capacitor, but serves a similar purpose.
FAQs
The Browser API provides the ability to open an in-app browser and subscribe to browser events.
The npm package @capacitor/browser receives a total of 176,706 weekly downloads. As such, @capacitor/browser popularity was classified as popular.
We found that @capacitor/browser demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 15 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Learn the essential steps every developer should take to stay secure on npm and reduce exposure to supply chain attacks.

Security News
Experts push back on new claims about AI-driven ransomware, warning that hype and sponsored research are distorting how the threat is understood.

Security News
Ruby's creator Matz assumes control of RubyGems and Bundler repositories while former maintainers agree to step back and transfer all rights to end the dispute.