@capacitor/inappbrowser
InAppBrowser 插件提供了一个网页浏览器视图,允许你在外部加载任何网页。它的行为类似于标准网页浏览器,可用于加载不受信任的内容而不会危及应用程序的安全性。它提供三种不同的 URL 打开方式:在 WebView 中、在应用内系统浏览器(Android 使用 Custom Tabs,iOS 使用 SFSafariViewController)以及在设备默认浏览器中。
安装
npm install @capacitor/inappbrowser@latest-7
npx cap sync
支持平台
- iOS
- Android
Android
InAppBrowser 插件要求最低 Android SDK 目标版本为 26。这高于 Capacitor 应用程序的默认值。你可以在 android/variables.gradle 文件中更新此值。
ext {
minSdkVersion = 26
}
使用示例
在外部浏览器中打开
import { InAppBrowser } from '@capacitor/inappbrowser';
await InAppBrowser.openInExternalBrowser({
url: "https://www.google.com"
});
在系统浏览器中打开(Android 使用 Custom Tabs,iOS 使用 SFSafariViewController)
import { InAppBrowser, DefaultSystemBrowserOptions } from '@capacitor/inappbrowser';
await InAppBrowser.openInSystemBrowser({
url: "https://www.google.com",
options: DefaultSystemBrowserOptions
});
在 Web View 中打开
import { InAppBrowser, DefaultWebViewOptions } from '@capacitor/inappbrowser';
await InAppBrowser.openInWebView({
url: "https://www.google.com",
options: DefaultWebViewOptions
});
关闭(Web View 或系统浏览器)
import { InAppBrowser } from '@capacitor/inappbrowser';
await InAppBrowser.close();
添加监听器
import { InAppBrowser } from '@capacitor/inappbrowser';
await InAppBrowser.addListener('browserClosed', () => {
console.log("浏览器已关闭。");
});
await InAppBrowser.addListener('browserPageNavigationCompleted', (data) => {
console.log("浏览器页面导航完成。 " + data.url);
});
await InAppBrowser.addListener('browserPageLoaded', () => {
console.log("浏览器已加载。");
});
移除所有监听器
import { InAppBrowser } from '@capacitor/inappbrowser';
InAppBrowser.removeAllListeners();