# @capgo/inappbrowser 中文文档

规范地址：https://npmcn.com/package/%40capgo/inappbrowser/

版本：8\.6\.14
npm 元数据更新时间：2026-08-19T10:41:25.923Z
中文译文更新时间：2026-11-09T02:18:51.345Z
软件包许可：MPL-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40capgo/inappbrowser
原文对照：https://npmcn.com/package/%40capgo/inappbrowser/?lang=original
项目主页：https://capgo.app/docs/plugins/inappbrowser/
源码仓库：https://github.com/Cap-go/capacitor-inappbrowser

弃用说明：This package has moved to @capgo/capacitor-inappbrowser\. Please install @capgo/capacitor-inappbrowser instead\.

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.1 MB，59 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2022-07-17T09:27:46.434Z
- 最新版本发布：2026-05-28T01:19:17.772Z
- 近 30 天下载量：165801（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：406（近 12 个月 66 个）

## 中文简介

应用程序浏览器中的电容插件

## 安装

```sh
npm install @capgo/inappbrowser
```

也可以使用：`pnpm add @capgo/inappbrowser`、`yarn add @capgo/inappbrowser`、`bun add @capgo/inappbrowser`

## README

# @ capgo/ inapp浏览器

[![Capgo - Instant updates for Capacitor](https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-inappbrowser)](https://capgo.app/)

## [QQ 与 Capgo 为您的 App 即时更新](https://capgo.app/?ref=plugin_inappbrowser)

## [\[''''\] 缺少一个功能? 我们会为你构建插件 。 @ @ info](https://capgo.app/consulting/?ref=plugin_inappbrowser)

应用浏览器中的Capacitor插件,有urlChangeEvent,双向通信,相机和麦克风使用等功能.

## 为什么是InApp Browser?

官方Capacitor浏览器插件有严格的安全限制,可以防止高级特性. InAppBrowser 取消了这些限制, 允许 :

-   **双向通信** 在您的应用程序和浏览器之间
-   **Java 脚本注入** 用于动态内容操作
-   **相机和麦克风接入** 在浏览器上下文中
-   **URL 变化监测** 导航跟踪
-   **自定义工具栏和 UI** 品牌经验
-   **Cookie 和缓存管理** 用于会话控制
-   **自定义大小** 用于额外控制显示位置

适合OAuth流量,嵌入式网络应用,视频通话,以及任何需要与网络内容深度融合的情景.

## 文档

这里有最完整的医生: [https://capgo.app/docs/plugins/inappbrowser/ 互联网档案馆的存檔,存档日期2013-12-11](https://capgo.app/docs/plugins/inappbrowser/)

## 兼容性

| 插件版本 | 电容兼容性 | 维护 |
| --- | --- | --- |
| 联合国 | 联合国 | ✅ |
| 页:1 | 页:1 | 应要求 |
| 页:1 | 页:1 | ❌ |
| 页:1 | 页:1 | ❌ |

> **说明:** 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.

## 安装

```bash
npm install @capgo/inappbrowser
npx cap sync
```

## 使用量

```js
import { InAppBrowser } from '@capgo/inappbrowser';

InAppBrowser.open({ url: 'YOUR_URL' });
```

### 自定义 Chrome 自定义标签外观( Android)

这个 `open()` 在Android上发射Chrome自定义标签。 您可以自定义其外观以与您的应用程序相融合 :

```js
import { InAppBrowser } from '@capgo/inappbrowser';

InAppBrowser.open({
  url: 'https://example.com',
  toolbarColor: '#1A1A2E', // Match your app's theme
  showTitle: true, // Show page title instead of raw URL
  showArrow: true, // Back arrow instead of X close icon
  urlBarHidingEnabled: true, // Auto-hide URL bar on scroll
  disableShare: true, // Remove share from overflow menu
  disableBookmark: true, // Hide bookmark icon (undocumented, may break)
  disableDownload: true, // Hide download icon (undocumented, may break)
});
```

所有CCT选项都是只使用Android并安全被iOS忽略. 见 [`OpenOptions`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-openoptions) 用于完整文档.

### 打开带有自定义尺寸的 Web View

默认情况下,网页视图会在全屏中打开. 您可以设置自定义维度来控制大小和位置 :

```js
import { InAppBrowser } from '@capgo/inappbrowser';

// Open with custom dimensions (400x600 at position 50,100)
const { id } = await InAppBrowser.openWebView({
  url: 'YOUR_URL',
  width: 400,
  height: 600,
  x: 50,
  y: 100,
});

// Update dimensions at runtime
InAppBrowser.updateDimensions({
  id, // Optional, if omitted targets the active webview
  width: 500,
  height: 700,
  x: 100,
  y: 150,
});
```

**触摸通过**:当设定自定义维度(不是全屏)时,在网页视图界限外的触摸会穿过到基本的Capacitor网络视图,让用户在被曝光区域与你的应用交互. 这使得 InAppBrowser 在您的内容之上浮出水面的图片样式体验成为可能 .

### 以安全边距打开网络视图

要创建带有 20px 底边距( 浏览器外的安全边距) 的 WebView :

```js
import { InAppBrowser } from '@capgo/inappbrowser';

InAppBrowser.openWebView({
  url: 'YOUR_URL',
  enabledSafeBottomMargin: true,
});
```

不支持 Web 平台 。 使用 `window.open` 换句话说.

### 在全屏模式下打开 Webview

要以真实的全屏模式打开网页视图( 内容延伸至状态栏后面), 设置 `enabledSafeTopMargin` 改为 `false`数字 :

```js
import { InAppBrowser } from '@capgo/inappbrowser';

InAppBrowser.openWebView({
  url: 'YOUR_URL',
  enabledSafeTopMargin: false, // Disables safe area at top, allows full screen
});
```

此选项独立于工具栏类型 :

-   **iOS系统**:网页视图延伸至状态栏后方,提供真实的边缘到边缘内容
-   **机器人**:上边框已禁用,允许内容填充整个屏幕

适合电子玩家,游戏等浸入体验,或全屏网络应用. 可与任何 `toolbarType` 设置.

### 代理实例

> \[大 代理处理在 `8.6.0`。 。 。 . 如果您已经依赖了旧的代理流, 请将此作为断开的迁移处理, 在运输前重新测试您的处理器 . 仅因为API名称保持不变,现有的代理处理器被认为不相容.
> 
> -   现在使用本地第一匹配 `outboundProxyRules` 财务报告和审定财务报表 `inboundProxyRules`。 。 。 .
> -   JavaScript 代理处理器现在收到一个 `phase` (单位:千美元)`outbound` 或者说 `inbound`) (中文(简体) ).
> -   如果您手动回复 `handleProxyRequest(...)`,通过同样的 `phase` 回到原生状态.
> -   逾期答复,无正本 `phase` 现在可以忽略而不是改变错误的请求阶段.
> -   `proxyRequests: true` 财务报告和审定财务报表 `proxyRequests: "<regex>"` 仍然是遗留的相容模式。 不要不重新测试就将遗留模式与基于规则的新流相混合.
> -   仅使用 URL/ 方法而不是保存的代理收听器 `phase` 与新流量不兼容.

#### 以本地方式封锁一个请求

在不通过 JavaScript 绕行停止请求时使用本地规则 :

```js
import { InAppBrowser } from '@capgo/inappbrowser';

await InAppBrowser.openWebView({
  url: 'https://example.com',
  outboundProxyRules: [
    {
      urlRegex: '^https://www\\.google-analytics\\.com/.*',
      action: 'cancel',
    },
  ],
});
```

#### JavaScript 的一个脚本

使用 `delegateToJs` 如果您想要本地匹配, 但仍希望 JavaScript 替换响应 :

```js
import { InAppBrowser, addProxyHandler } from '@capgo/inappbrowser';

const proxyHandle = await addProxyHandler(async (request) => {
  if (request.phase === 'inbound' && request.url.includes('connect.facebook.net')) {
    return new Response('window.FB = { init: () => {}, login: () => {}, getLoginStatus: () => {} };', {
      status: 200,
      headers: {
        'Content-Type': 'application/javascript; charset=utf-8',
      },
    });
  }

  return null;
});

await InAppBrowser.openWebView({
  url: 'https://www.grailed.com/users/sign_up',
  inboundProxyRules: [
    {
      urlRegex: '^https://connect\\.facebook\\.net/.*',
      action: 'delegateToJs',
    },
  ],
});

// Later, when you are done:
await proxyHandle.remove();
```

#### 在 JavaScript 中重写输出的 API 请求

当一个请求在离开网页视图前必须修改时,返回 a `request` 覆盖 :

```js
import { InAppBrowser, addProxyHandler } from '@capgo/inappbrowser';

const proxyHandle = await addProxyHandler(async (request) => {
  if (request.phase === 'outbound' && request.url.includes('/api/private')) {
    return {
      request: {
        url: request.url,
        headers: {
          ...request.headers,
          Authorization: 'Bearer MY_TOKEN',
          'X-Proxy-Debug': 'enabled',
        },
      },
    };
  }

  return null;
});

await InAppBrowser.openWebView({
  url: 'https://example.com/dashboard',
  outboundProxyRules: [
    {
      urlRegex: '^https://example\\.com/api/private.*',
      action: 'delegateToJs',
    },
  ],
});

// Later, when you are done:
await proxyHandle.remove();
```

### 测试应用程序和代码 :

[https://github.com/Cap-go/demo-app/blob/main/src/views/plugins/Web.vue 互联网档案馆的存檔,存档日期2013-12-20](https://github.com/Cap-go/demo-app/blob/main/src/views/plugins/Web.vue)

### 相机使用量

#### 机器人

在您的 `AndroidManifest.xml` 文件 :

```xml
    <uses-permission android:name="android.permission.CAMERA" />
        <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
        <uses-permission android:name="android.permission.RECORD_AUDIO"/>
```

然后在使用相机时会询问权限.

#### iOS系统

在您的 `Info.plist` 文件 :

```xml
<key>NSCameraUsageDescription</key>
<string>We need access to the camera to record audio.</string>
```

### 微型电话的使用

#### 机器人

在您的 `AndroidManifest.xml` 文件 :

```xml
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
```

然后在使用麦克风时会询问许可.

#### iOS系统

在您的 `Info.plist` 文件 :

```xml
<key>NSMicrophoneUsageDescription</key>
<string>We need access to the microphone to record audio.</string>
```

### 地点使用情况

#### 机器人

在您的 `AndroidManifest.xml` 文件 :

```xml
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
```

然后,在网页视图中的网站何时请求位置,将询问权限.

#### iOS系统

在您的 `Info.plist` 文件 :

```xml
<key>NSLocationWhenInUseUsageDescription</key>
<string>We need access to your location to provide location-based services.</string>
```

### 双向交流

通过此插件, 您可以将主应用程序的事件发送到内存浏览器, 反之亦然 .

> 数据被作为JSON对象发送,因此不允许任何函数或其他非JSON序列化类型.

#### 对不应用者的主要应用, 细节对象为修饰

```js
const { id } = await InAppBrowser.openWebView({ url: 'YOUR_URL' });
InAppBrowser.postMessage({ id, detail: { message: 'myMessage' } });
// Or broadcast to all open webviews
InAppBrowser.postMessage({ detail: { message: 'broadcast' } });
```

#### 从 inapprowser 中的本地接收事件

```js
window.addEventListener('messageFromNative', (event) => {
  console.log(event);
});
```

#### 从 inapprowser 发送事件到主应用程序, 细节对象为修饰

```js
window.mobileApp.postMessage({ detail: { message: 'myMessage' } });
```

#### 接收主应用程序中无法浏览的事件

```js
InAppBrowser.addListener('messageFromWebview', (event) => {
  console.log(event.id, event.detail);
});
```

### 关闭来自 inapprowser 本身的 approwser

```js
window.mobileApp.close();
```

### 谷歌付费( Android)

要在Android上的应用程序浏览器内启用 Google Pay, 您必须这样做 **所有三个** 改为:

#### 1\. 打开浏览器时启用选项

过 `enableGooglePaySupport: true` 在你身边 `openWebView` 电话 :

```ts
InAppBrowser.openWebView({
  url: 'https://your-checkout-page.example.com',
  enableGooglePaySupport: true,
});
```

#### 2\. 向您添加付款请求意向查询 `AndroidManifest.xml`

Android 11+ 执行 [软件包可见度](https://developer.android.com/training/package-visibility)。如果没有这些条目,WebView将无法发现Google Pay,付款表将永远不会出现.

添加以下内容: `<manifest>` 您的应用程序标签 `AndroidManifest.xml` (通常为: `android/app/src/main/AndroidManifest.xml`:

```xml
<queries>
  <!-- Required for Google Pay / Payment Request API in WebView -->
  <intent>
    <action android:name="org.chromium.intent.action.PAY" />
  </intent>
  <intent>
    <action android:name="org.chromium.intent.action.IS_READY_TO_PAY" />
  </intent>
  <intent>
    <action android:name="org.chromium.intent.action.UPDATE_PAYMENT_DETAILS" />
  </intent>
</queries>
```

#### 3\. 要求Webview 120或以后

W3C支付请求API(由Google Pay使用)要求Android WebView 120+. 运行更古老的WebView版本的设备将无法完成Google Pay交易. 大多数现代Android设备已经满足了这一要求.

## API 密码

-   [`goBack(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-goback)
-   [`open(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-open)
-   [`clearCookies(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-clearcookies)
-   [`clearAllCookies(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-clearallcookies)
-   [`clearCache(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-clearcache)
-   [`getCookies(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-getcookies)
-   [`close(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-close)
-   [`hide(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-hide)
-   [`show(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-show)
-   [`openWebView(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-openwebview)
-   [`executeScript(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-executescript)
-   [`postMessage(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-postmessage)
-   [`takeScreenshot(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-takescreenshot)
-   [`setUrl(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-seturl)
-   [`addListener('urlChangeEvent', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenerurlchangeevent-)
-   [`addListener('buttonNearDoneClick', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenerbuttonneardoneclick-)
-   [`addListener('closeEvent', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenercloseevent-)
-   [`addListener('confirmBtnClicked', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenerconfirmbtnclicked-)
-   [`addListener('messageFromWebview', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenermessagefromwebview-)
-   [`addListener('screenshotTaken', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenerscreenshottaken-)
-   [`addListener('browserPageLoaded', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenerbrowserpageloaded-)
-   [`addListener('pageLoadError', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenerpageloaderror-)
-   [`addListener('customSchemeIntercepted', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenercustomschemeintercepted-)
-   [`addListener('downloadCompleted', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenerdownloadcompleted-)
-   [`addListener('downloadFailed', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenerdownloadfailed-)
-   [`addListener('popupWindowOpened', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenerpopupwindowopened-)
-   [`addListener('proxyRequest', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenerproxyrequest-)
-   [`addListener('consoleMessage', ...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-addlistenerconsolemessage-)
-   [`handleProxyRequest(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-handleproxyrequest)
-   [`removeAllListeners()`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-removealllisteners)
-   [`reload(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-reload)
-   [`updateDimensions(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-updatedimensions)
-   [`setEnabledSafeTopMargin(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-setenabledsafetopmargin)
-   [`setEnabledSafeBottomMargin(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-setenabledsafebottommargin)
-   [`openSecureWindow(...)`](https://npmcn.com/package/%40capgo/inappbrowser/#readme-opensecurewindow)
-   [接口](https://npmcn.com/package/%40capgo/inappbrowser/#readme-interfaces)
-   [类型异名](https://npmcn.com/package/%40capgo/inappbrowser/#readme-type-aliases)
-   [数字](https://npmcn.com/package/%40capgo/inappbrowser/#readme-enums)

### goBack (...) (中文(简体) )

```typescript
goBack(options?: { id?: string | undefined; } | undefined) => Promise<{ canGoBack: boolean; }>
```

如果可能, 在 WebView 的历史中导航

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ id?: string; }` |

**回返情况:** `Promise<{ canGoBack: boolean; }>`

**自:** 7.21.0 国家

* * *

### 打开(...)

```typescript
open(options: OpenOptions) => Promise<any>
```

在新窗口全屏中打开 URL, 它使用自定义的铬标签, 在 ios 上使用 SFSafariView 控制器

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[OpenOptions](https://npmcn.com/package/%40capgo/inappbrowser/#readme-openoptions)` |

**回返情况:** `Promise<any>`

**自:** 0.1.0 (中文(简体) )

* * *

### 清除 Cookies (...)

```typescript
clearCookies(options: ClearCookieOptions) => Promise<any>
```

清除 URL 的饼干 何时 `id` ,并适用于所有开放的网页视图.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[ClearCookieOptions](https://npmcn.com/package/%40capgo/inappbrowser/#readme-clearcookieoptions)` |

**回返情况:** `Promise<any>`

**自:** 0.5.0 (单位:千美元)

* * *

### 清除所有 Cookies (...)

```typescript
clearAllCookies(options?: { id?: string | undefined; } | undefined) => Promise<any>
```

清除全部饼干 何时 `id` ,并适用于所有开放的网页视图.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ id?: string; }` |

**回返情况:** `Promise<any>`

**自:** 6.5.0 (中文(简体) )

* * *

### 清除缓存(...)

```typescript
clearCache(options?: { id?: string | undefined; } | undefined) => Promise<any>
```

清除缓存 何时 `id` ,并适用于所有开放的网页视图.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ id?: string; }` |

**回返情况:** `Promise<any>`

**自:** 6.5.0 (中文(简体) )

* * *

### 获取 Cookies (...)

```typescript
getCookies(options: GetCookieOptions) => Promise<Record<string, string>>
```

获取特定 URL 的 cookie .

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[GetCookieOptions](https://npmcn.com/package/%40capgo/inappbrowser/#readme-getcookieoptions)` | 选项,包括获取 cookie 的 URL . |

**回返情况:** `Promise<[Record](https://npmcn.com/package/%40capgo/inappbrowser/#readme-record)<string, string>>`

* * *

### 关闭(...)

```typescript
close(options?: CloseWebviewOptions | undefined) => Promise<any>
```

关闭网页视图. 何时 `id` 中省略,关闭活动的网页视图.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[CloseWebviewOptions](https://npmcn.com/package/%40capgo/inappbrowser/#readme-closewebviewoptions)` |

**回返情况:** `Promise<any>`

* * *

### 隐藏(...)

```typescript
hide(options?: { id?: string | undefined; } | undefined) => Promise<void>
```

隐藏网页视图而不关闭 . 使用显示( ) 把它带回来 . 何时 `id` 被省略,以活动网页视图为目标.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ id?: string; }` |

**自:** 8.0.8 (中文(简体) )

* * *

### 显示(...)

```typescript
show(options?: { id?: string | undefined; } | undefined) => Promise<void>
```

显示先前隐藏的网页视图 . 何时 `id` 被省略,以活动网页视图为目标.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ id?: string; }` |

**自:** 8.0.8 (中文(简体) )

* * *

### 打开WebView(...)

```typescript
openWebView(options: OpenWebViewOptions) => Promise<{ id: string; }>
```

在有工具栏的新网页视图中打开url,并增强能力,如相机访问,文件访问,收听事件,注入javascript,双向通信等.

JavaScript 接口 : 当您用这种方法打开一个网页视图时, JavaScript 接口会自动被注入,提供:

-   `window.mobileApp.close()`: 从 JavaScript 关闭网页视图
-   `window.mobileApp.postMessage({detail: {message: "myMessage"}})`: 从网页视图发送消息到应用程序, 细节对象是您想要发送到网页视图的数据
-   `window.mobileApp.takeScreenshot()` 何时 `allowScreenshotsFromWebPage` 真实

承诺时间因平台而异 `isPresentAfterPageLoad` 已使用. Android 解决与 `{ id }` 在对话框准备好控制后, iOS 解决 `{ id }` 创建本地网页视图后立即开始 .

| 参数 | 类型 |
| --- | --- |
| **`options`** | `[OpenWebViewOptions](https://npmcn.com/package/%40capgo/inappbrowser/#readme-openwebviewoptions)` |

**回返情况:** `Promise<{ id: string; }>`

**自:** 0.1.0 (中文(简体) )

* * *

### 执行脚本(...)

```typescript
executeScript(options: { code: string; id?: string; }) => Promise<void>
```

将JavaScript代码注入InApp浏览器窗口. 何时 `id` 被省略,在所有打开的网页视图中执行.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ code: string; id?: string; }` |

* * *

### 后 Message (...) 翻译

```typescript
postMessage(options: { detail: Record<string, any>; id?: string; }) => Promise<void>
```

将事件发送到网页视图( inapprowser) 。 您可以用窗口在无法阅读的 JS 中收听此事件。 add Event Listener (“ message From Native ” ), 听者Func : (活动 : [记录](https://npmcn.com/package/%40capgo/inappbrowser/#readme-record)< 字符串, 任何 > )\\ 无效 ) 细节是您想要发送到 Webview 的数据, 这是 Capacitor 的一项要求, 我们不能直接发送对象 您的对象必须可序列到 JSON, 所以不允许功能或其他非 JSON 序列化类型 . 何时 `id` 被省略,向所有开放的网页视图广播.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ detail: [Record](https://npmcn.com/package/%40capgo/inappbrowser/#readme-record)<string, any>; id?: string; }` |

* * *

### 拍摄 Screenshot(...)

```typescript
takeScreenshot(options?: { id?: string | undefined; } | undefined) => Promise<ScreenshotResult>
```

抓取当前网页视图端口为 PNG 截图 . 何时 `id` 被省略,以活动网页视图为目标.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ id?: string; }` |

**回返情况:** `Promise<[ScreenshotResult](https://npmcn.com/package/%40capgo/inappbrowser/#readme-screenshotresult)>`

* * *

### 设置Url(...)

```typescript
setUrl(options: { url: string; id?: string; }) => Promise<any>
```

设置网页视图的 URL. 何时 `id` 被省略,以活动网页视图为目标.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ url: string; id?: string; }` |

**回返情况:** `Promise<any>`

* * *

### 添加倾听器( “ url ChangeEvent , )..

```typescript
addListener(eventName: 'urlChangeEvent', listenerFunc: UrlChangeListener) => Promise<PluginListenerHandle>
```

听 url 更改, 只为 openWebView

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'urlChangeEvent'` |
| **`listenerFunc`** | `[UrlChangeListener](https://npmcn.com/package/%40capgo/inappbrowser/#readme-urlchangelistener)` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

**自:** 0.0.1 资源

* * *

### 添加收听器( “ 按钮附近” )..

```typescript
addListener(eventName: 'buttonNearDoneClick', listenerFunc: ButtonNearListener) => Promise<PluginListenerHandle>
```

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'buttonNearDoneClick'` |
| **`listenerFunc`** | `[ButtonNearListener](https://npmcn.com/package/%40capgo/inappbrowser/#readme-buttonnearlistener)` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

* * *

### 添加聆听器( “ 关闭Event ” ,...)

```typescript
addListener(eventName: 'closeEvent', listenerFunc: UrlChangeListener) => Promise<PluginListenerHandle>
```

仅为打开WebView而点击关闭

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'closeEvent'` |
| **`listenerFunc`** | `[UrlChangeListener](https://npmcn.com/package/%40capgo/inappbrowser/#readme-urlchangelistener)` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

**自:** 0.4.0 (中文(简体) )

* * *

### 添加倾听器('确认BtnClicked',...)

```typescript
addListener(eventName: 'confirmBtnClicked', listenerFunc: ConfirmBtnListener) => Promise<PluginListenerHandle>
```

当用户在需要免责声明时点击确认按钮时会被触发, 使用 OpenWebView 共享解说和关闭 Modal 工作

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'confirmBtnClicked'` |
| **`listenerFunc`** | `[ConfirmBtnListener](https://npmcn.com/package/%40capgo/inappbrowser/#readme-confirmbtnlistener)` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

**自:** 0.0.1 资源

* * *

### 添加Listener( 来自Webview 的信息),..

```typescript
addListener(eventName: 'messageFromWebview', listenerFunc: (event: { id?: string; detail?: Record<string, any>; rawMessage?: string; }) => void) => Promise<PluginListenerHandle>
```

当事件从webview( inappbrowser)发送时会被触发,将事件发送到主应用程序使用窗口.mobileApp.postMessage({"detail":{"message":"myMessage"}}) 细节是您想要发送到主应用程序的数据, 这是Capacitor的要求, 我们不能直接发送对象 您的对象必须是可序列化的 JSON, 不允许任何函数或其他非 JSON 序列化类型 .

此方法在网络视图运行时注入

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'messageFromWebview'` |
| **`listenerFunc`** | `(event: { id?: string; detail?: [Record](https://npmcn.com/package/%40capgo/inappbrowser/#readme-record)<string, any>; rawMessage?: string; }) => void` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

* * *

### 添加倾听器( “ 屏幕截图 ” ,...)

```typescript
addListener(eventName: 'screenshotTaken', listenerFunc: (event: ScreenshotResult & { id?: string; }) => void) => Promise<PluginListenerHandle>
```

一旦从插件 API 中捕获到截图, 就会被触发, 本地截图按钮,或注入的JavaScript桥.

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'screenshotTaken'` |
| **`listenerFunc`** | `(event: [ScreenshotResult](https://npmcn.com/package/%40capgo/inappbrowser/#readme-screenshotresult) & { id?: string; }) => void` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

* * *

### 添加倾听器('浏览器PageLoaded',...)

```typescript
addListener(eventName: 'browserPageLoaded', listenerFunc: (event: { id?: string; }) => void) => Promise<PluginListenerHandle>
```

装入页面时将触发

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'browserPageLoaded'` |
| **`listenerFunc`** | `(event: { id?: string; }) => void` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

* * *

### 添加倾听器( “ pageLoadError, ” )..

```typescript
addListener(eventName: 'pageLoadError', listenerFunc: (event: { id?: string; }) => void) => Promise<PluginListenerHandle>
```

页面加载错误时会被触发

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'pageLoadError'` |
| **`listenerFunc`** | `(event: { id?: string; }) => void` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

* * *

### 添加收听器( “ 海关计程器已截取 ” ,...)

```typescript
addListener(eventName: 'customSchemeIntercepted', listenerFunc: CustomSchemeInterceptedListener) => Promise<PluginListenerHandle>
```

当网页视图拦截到非标准自定义方案时会触发 把它交给操作系统.

由操作系统处理的标准计划,例如 `tel:`, (中文(简体) ), `mailto:`,以及 `sms:` 除外.

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'customSchemeIntercepted'` |
| **`listenerFunc`** | `[CustomSchemeInterceptedListener](https://npmcn.com/package/%40capgo/inappbrowser/#readme-customschemeinterceptedlistener)` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

**自:** 8.6.7 联合国

* * *

### 添加倾听器( “ 下载完成 ” ,...)

```typescript
addListener(eventName: 'downloadCompleted', listenerFunc: (event: DownloadCompletedEvent) => void) => Promise<PluginListenerHandle>
```

本地下载处理保存本地文件后将触发 . 启用此选项 `handleDownloads: true` 当打开网页视图时.

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'downloadCompleted'` |
| **`listenerFunc`** | `(event: [DownloadCompletedEvent](https://npmcn.com/package/%40capgo/inappbrowser/#readme-downloadcompletedevent)) => void` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

**自:** 8.6.0 (简体中文)

* * *

### 添加倾听器( “ 下载失败 ” ,...)

```typescript
addListener(eventName: 'downloadFailed', listenerFunc: (event: DownloadFailedEvent) => void) => Promise<PluginListenerHandle>
```

当本地下载处理失败时会触发 . 启用此选项 `handleDownloads: true` 当打开网页视图时.

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'downloadFailed'` |
| **`listenerFunc`** | `(event: [DownloadFailedEvent](https://npmcn.com/package/%40capgo/inappbrowser/#readme-downloadfailedevent)) => void` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

**自:** 8.6.0 (简体中文)

* * *

### 添加倾听器( “ popup Window Opened ” ,...)

```typescript
addListener(eventName: 'popupWindowOpened', listenerFunc: (event: PopupWindowEvent) => void) => Promise<PluginListenerHandle>
```

每当页面打开弹出/ 新窗口时都会被触发 . 使用返回的弹出编号 `executeScript`, (中文(简体) ), `postMessage`, (中文(简体) ), `show`, (中文(简体) ), `hide`,以及 `close`。 。 。 .

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'popupWindowOpened'` |
| **`listenerFunc`** | `(event: [PopupWindowEvent](https://npmcn.com/package/%40capgo/inappbrowser/#readme-popupwindowevent)) => void` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

**自:** 8.6.0 (简体中文)

* * *

### 添加倾听器( “ 代理请求 ” )..

```typescript
addListener(eventName: 'proxyRequest', listenerFunc: (event: ProxyRequest) => void) => Promise<PluginListenerHandle>
```

倾听本地运行时间授权的代理请求. 偏爱 `addProxyHandler()` 而不是直接打电话.

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'proxyRequest'` |
| **`listenerFunc`** | `(event: [ProxyRequest](https://npmcn.com/package/%40capgo/inappbrowser/#readme-proxyrequest)) => void` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

**自:** 8.6.0 (简体中文)

* * *

### 添加Listener('consoleMessage', ...) 键盘

```typescript
addListener(eventName: 'consoleMessage', listenerFunc: (event: ConsoleMessageEvent) => void) => Promise<PluginListenerHandle>
```

听从管理页面释放的 JavaScript 控制台输出 . 启用此选项 `captureConsoleLogs: true` 当打开网页视图时.

| 参数 | 类型 |
| --- | --- |
| **`eventName`** | `'consoleMessage'` |
| **`listenerFunc`** | `(event: [ConsoleMessageEvent](https://npmcn.com/package/%40capgo/inappbrowser/#readme-consolemessageevent)) => void` |

**回返情况:** `Promise<[PluginListenerHandle](https://npmcn.com/package/%40capgo/inappbrowser/#readme-pluginlistenerhandle)>`

**自:** 8.6.0 (简体中文)

* * *

### 处理 Proxy 请求(...)

```typescript
handleProxyRequest(options: { requestId: string; decision?: ProxyDecision | null; response?: ProxyResponse | null; webviewId?: string; phase?: 'outbound' | 'inbound'; }) => Promise<void>
```

内部方法 `addProxyHandler()` 将代理决定发回本地. 转发原件 `phase` 当对手册作出答复时 `proxyRequest` 听着.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ requestId: string; decision?: [ProxyDecision](https://npmcn.com/package/%40capgo/inappbrowser/#readme-proxydecision) | null; response?: [ProxyResponse](https://npmcn.com/package/%40capgo/inappbrowser/#readme-proxyresponse) | null; webviewId?: string; phase?: 'outbound' | 'inbound'; }` |

**自:** 8.6.0 (简体中文)

* * *

### 删除所有收听器( )

```typescript
removeAllListeners() => Promise<void>
```

删除此插件的所有听众 .

**自:** 1.0.0 (单位:千美元)

* * *

### 重新装入(...)

```typescript
reload(options?: { id?: string | undefined; } | undefined) => Promise<any>
```

重新装入当前网页 .

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ id?: string; }` |

**回返情况:** `Promise<any>`

**自:** 1.0.0 (单位:千美元)

* * *

### 更新 Dimension (...)

```typescript
updateDimensions(options: DimensionOptions & { id?: string; }) => Promise<void>
```

更新网页视图的尺寸 . 允许在运行时更改网页视图的大小和位置 . 何时 `id` 被省略,以活动网页视图为目标.

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[DimensionOptions](https://npmcn.com/package/%40capgo/inappbrowser/#readme-dimensionoptions) & { id?: string; }` | 尺寸选项( 宽度、 高度、 x、 y) |

* * *

### 设置可操作的SafeTop Margin (...)

```typescript
setEnabledSafeTopMargin(options: { enabled: boolean; id?: string; }) => Promise<void>
```

设置运行时网页视图的安全顶端边距 . 何时 `id` 被省略,以活动网页视图为目标. 在Web上,这种方法是一种不开放并解析而不改变布局的方法.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ enabled: boolean; id?: string; }` |

* * *

### 设置可操作的SafeBottom Margin (...)

```typescript
setEnabledSafeBottomMargin(options: { enabled: boolean; id?: string; }) => Promise<void>
```

设置运行时网页视图的安全底边距 . 何时 `id` 被省略,以活动网页视图为目标. 在Web上,这种方法是一种不开放并解析而不改变布局的方法.

| 参数 | 类型 |
| --- | --- |
| **`options`** | `{ enabled: boolean; id?: string; }` |

* * *

### 打开SecureWindow(...)

```typescript
openSecureWindow(options: OpenSecureWindowOptions) => Promise<OpenSecureWindowResponse>
```

打开 OAuth2 认证的安全窗口. 对于 Web, 您应该有重定向页面中的代码来使用广播频道将重定向的url发送到应用程序中 比如说:

```html
&lt;html&gt;
&lt;head&gt;&lt;/head&gt;
&lt;body&gt;
&lt;script&gt;
  const searchParams = new URLSearchParams(location.search)
  if (searchParams.has("code")) {
    new BroadcastChannel("my-channel-name").postMessage(location.href);
    window.close();
  }
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
```

对于移动,你应该有一个方向回路的uri打开应用程序,比如: `myapp://oauth_callback/` 并在应用程序的信息中注册 列表 :

```xml
&lt;key&gt;CFBundleURLTypes&lt;/key&gt;
&lt;array&gt;
   &lt;dict&gt;
      &lt;key&gt;CFBundleURLSchemes&lt;/key&gt;
      &lt;array&gt;
         &lt;string&gt;myapp&lt;/string&gt;
      &lt;/array&gt;
   &lt;/dict&gt;
&lt;/array&gt;
```

在AndroidManifest.xml的文件中:

```xml
&lt;activity&gt;
   &lt;intent-filter&gt;
      &lt;action android:name="android.intent.action.VIEW" /&gt;
      &lt;category android:name="android.intent.category.DEFAULT" /&gt;
      &lt;category android:name="android.intent.category.BROWSABLE" /&gt;
      &lt;data android:host="oauth_callback" android:scheme="myapp" /&gt;
   &lt;/intent-filter&gt;
&lt;/activity&gt;
```

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[OpenSecureWindowOptions](https://npmcn.com/package/%40capgo/inappbrowser/#readme-opensecurewindowoptions)` | \- 打开SecureWindow电话的选项 |

**回返情况:** `Promise<[OpenSecureWindowResponse](https://npmcn.com/package/%40capgo/inappbrowser/#readme-opensecurewindowresponse)>`

* * *

### 接口

#### 打开选项

| Prop | 类型 | 说明 | 默认 | 自兹 |
| --- | --- | --- | --- | --- |
| **`url`** | `string` | 要装入的目标 URL . |  | 0.1.0 (中文(简体) ) |
| **`isPresentAfterPageLoad`** | `boolean` | 如果为真,则在加载页面后显示浏览器,如果错误,则立即显示浏览器. |  | 0.1.0 (中文(简体) ) |
| **`preventDeeplink`** | `boolean` | 如果无法打开深链接, 如果点击链接时会打开深链接 |  | 0.1.0 (中文(简体) ) |
| **`toolbarColor`** | `string` | 十六进制格式的工具栏背景颜色(例如"#1A1A2E"). 适用于光和暗两种颜色方案。 同时设置要匹配的导航栏颜色 . **只有机器人** ——被iOS忽略. |  | 8.2.0 (中文(简体) ) |
| **`urlBarHidingEnabled`** | `boolean` | 用户向下滚动时, URL 栏是否应当自动隐藏 。 酒吧在任何向上卷轴上重新出现. **只有机器人** ——被iOS忽略. | `false` | 8.2.0 (中文(简体) ) |
| **`showTitle`** | `boolean` | 在工具栏中显示页面的 HTML <title> 而不是原始的 URL 。 当用户点击标题区域时, 真实的 URL 仍然可见 . **只有机器人** ——被iOS忽略. | `false` | 8.2.0 (中文(简体) ) |
| **`showArrow`** | `boolean` | 将默认的"X"关闭图标替换为后箭头. 使自定义 Tab 感觉像本土导航推力而不是模式上覆. **只有机器人** ——被iOS忽略. | `false` | 8.2.0 (中文(简体) ) |
| **`disableShare`** | `boolean` | 从溢出菜单中删除共享动作 . **只有机器人** ——被iOS忽略. | `false` | 8.2.0 (中文(简体) ) |
| **`disableBookmark`** | `boolean` | 在溢出菜单中隐藏书签明星图标。 使用无凭证的铬意向外加法——可能停止未来Chrome更新的工作. **只有机器人** ——被iOS忽略. | `false` | 8.2.0 (中文(简体) ) |
| **`disableDownload`** | `boolean` | 在溢出菜单中隐藏下载图标 。 使用无凭证的铬意向外加法——可能停止未来Chrome更新的工作. **只有机器人** ——被iOS忽略. | `false` | 8.2.0 (中文(简体) ) |

#### 清除Cookie 选项

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`id`** | `string` | 目标网页视图标识 。 省略时,适用于所有开放的网页视图. |
| **`url`** | `string` |  |

#### HtpCookie (美国英语)

| Prop | 类型 | 说明 |
| --- | --- | --- |
| **`url`** | `string` | 饼干的URL. |
| **`key`** | `string` | 饼干的钥匙. |
| **`value`** | `string` | 饼干的价值. |

#### 获取 Cookie 选项

| Prop | 类型 |
| --- | --- |
| **`url`** | `string` |
| **`includeHttpOnly`** | `boolean` |

#### 关闭网络视图选项

| Prop | 类型 | 说明 | 默认 |
| --- | --- | --- | --- |
| **`id`** | `string` | 目标网络视图 ID 关闭。 如果省略,则关闭活动网页视图. |  |
| **`isAnimated`** | `boolean` | 网页视图的关闭是否为动画, 仅 ios | `true` |

#### 打开网络查看选项

| Prop | 类型 | 说明 | 默认 | 自兹 |
| --- | --- | --- | --- | --- |
| **`url`** | `string` | 要装入的目标 URL . |  | 0.1.0 (中文(简体) ) |
| **`headers`** | `[Headers](https://npmcn.com/package/%40capgo/inappbrowser/#readme-headers)` | [页眉](https://npmcn.com/package/%40capgo/inappbrowser/#readme-headers) 与请求一起发送. |  | 0.1.0 (中文(简体) ) |
| **`credentials`** | `[Credentials](https://npmcn.com/package/%40capgo/inappbrowser/#readme-credentials)` | [全权证书](https://npmcn.com/package/%40capgo/inappbrowser/#readme-credentials) 将随请求和随后所有请求一起发送到同一主机. |  | 6.1.0 (中文(简体) ) |
| **`method`** | `string` | HTTP 用于初始请求的方法 . **可选参数 - 未指定时默认获取 .** 不提供这个参数的现有代码会随着标准GET请求而继续工作不变. 当指定“ POST” 、 “ PUT” 或“ PATCH” 方法支持一个天体时, 您也可以提供 `body` 参数与请求的有效载荷. **平台说明:** - iOS: 完全支持所有带信头的 HTTP 方法 - Android: 由于WebView 的限制,自定义信头可能不会随 POST/PUT/PATCH 请求一起发送 | `"GET"` | 8.2.0 (中文(简体) ) |
| **`body`** | `string` | HTTP正体在使用POST,PUT或其他支持正体的方法时随请求一起发送. 应该是一个字符串(JSON.stringify for JSON data). **可选参数 - 仅在 `method` 指定并支持请求机构.** 暗示这个参数(或使用GET方法)导致标准行为,没有请求体. |  | 8.2.0 (中文(简体) ) |
| **`materialPicker`** | `boolean` | 材料 Picker:如果是真的,则在Android上使用取日期和取时器的材料设计主题. 这改善了HTML日期输入的外观,可以使用现代材料设计UI来代替旧式取取取器. | `false` | 7.4.1 (中文(简体) ) |
| **`jsInterface`** |  | JavaScript 接口:网页视图自动注入 JavaScript 接口,提供: - `window.mobileApp.close()`: 从 JavaScript 关闭网页视图 - `window.mobileApp.postMessage(obj)`: 向app发送消息(通过"Message from Webview"事件收听) - `window.mobileApp.hide()` 编号 : `window.mobileApp.show()` 当允许WebViewJs可视性控制在 CapacitorConfig 中实现时 - `window.mobileApp.takeScreenshot()` 何时 `allowScreenshotsFromWebPage` 真实 |  | 6.1.0 (中文(简体) ) |
| **`allowScreenshotsFromWebPage`** | `boolean` | 允许页面 JavaScript 调用 `window.mobileApp.takeScreenshot()`。默认已禁用,所以只有主机应用程序可以通过插件 API 触发本地截图 . | `false` | 8.4.0 (单位:百万美元) |
| **`captureConsoleLogs`** | `boolean` | 输出 `consoleMessage` java 脚本事件 `console.*` 输出来自管理页面。 当网页视图隐藏起来时有用, 您仍然需要页面级诊断 . | `false` | 8.6.0 (简体中文) |
| **`handleDownloads`** | `boolean` | 自动处理网络视图内部所触发的下载,而不需要自定义的JavaScript桥. 启用时: - 标准附件响应被写入临时文件 。 - `blob:` 下载在平台支持时也会被捕获. - 可预览文件在可能时在程序内浏览器内重新打开。 - 说吧 其他文件则移交给本地预览或查看器流程。 - `downloadCompleted` 财务报告和审定财务报表 `downloadFailed` 事件将保存的文件通知主机应用程序. | `false` | 8.6.0 (简体中文) |
| **`shareDisclaimer`** | `[DisclaimerOptions](https://npmcn.com/package/%40capgo/inappbrowser/#readme-disclaimeroptions)` | 共享网页视图的选项 。 提供时, 在共享内容前显示免责对话框 。 用于: - 提醒用户共享敏感信息 - 在共享前征得用户同意 - 解释将共享的内容 - 遵守隐私监管 注意: 使用共享解析器时需要共享Subject |  | 0.1.0 (中文(简体) ) |
| **`toolbarType`** | `[ToolBarType](https://npmcn.com/package/%40capgo/inappbrowser/#readme-toolbartype)` | 工具栏类型决定了浏览器工具栏的外观和行为 - "活动" : 显示一个简单的工具栏,只需关闭按钮并共享按钮 - "导航" : 显示带有后向按钮的完整导航工具栏 - "空白" : 不显示工具栏 - "": 带有关闭按钮的默认工具栏 | `ToolBarType.DEFAULT` | 0.1.0 (中文(简体) ) |
| **`shareSubject`** | `string` | 共享的主题文本 。 使用共享免责声明时需要 。 此文本在共享内容时将作为主题行. |  | 0.1.0 (中文(简体) ) |
| **`title`** | `string` | 浏览器的标题 | `"New Window"` | 0.1.0 (中文(简体) ) |
| **`backgroundColor`** | `[BackgroundColor](https://npmcn.com/package/%40capgo/inappbrowser/#readme-backgroundcolor)` | 浏览器的背景颜色 | `BackgroundColor.BLACK` | 0.1.0 (中文(简体) ) |
| **`activeNativeNavigationForWebview`** | `boolean` | 如果真实, 则允许在网页视图内进行本地导航手势 。 -Android:原生后按键在webview历史中导航 - iOS:启用向后/向后导航的刷相左/右手势 | `false (Android), true (iOS - enabled by default)` |  |
| **`disableGoBackOnNativeApplication`** | `boolean` | 禁用返回本地应用程序的可能性, 用于强制用户留在网页视图中, Android | `false` |  |
| **`isPresentAfterPageLoad`** | `boolean` | 在新窗口全屏中打开url是PresentAfterPageLoad:如果真实,浏览器会在加载后显示,如果错误,则浏览器会立即显示. 承诺时机: 在Android上, `openWebView()` 当网页视图准备控制时( 立即用于隐藏/ 即时演示, 当第一个页面加载时) 解决 webview id `isPresentAfterPageLoad` 实值 `true`) (中文(简体) ). 在iOS上,承诺一旦创建了本地网页视图,即使演示文稿被推迟,也与id解决. | `false` | 0.1.0 (中文(简体) ) |
| **`isInspectable`** | `boolean` | 网页视图中的网站是否可以检查, 仅 ios | `false` |  |
| **`isAnimated`** | `boolean` | 网页视图打开是否为动画, 仅限 ios | `true` |  |
| **`showReloadButton`** | `boolean` | 显示重新装入网页的按钮 | `false` | 1.0.15 (中文(简体) ) |
| **`closeModal`** | `boolean` | CloseModal:如果用户点击关闭按钮时显示一个真实的确认,如果错误的浏览器会立即被关闭. | `false` | 1.1.0 国家 |
| **`closeModalTitle`** | `string` | 关闭 Modal Title: 当用户点击关闭按钮时确认的标题 | `"Close"` | 1.1.0 国家 |
| **`closeModalDescription`** |  |  |  |  |

## 常见问题

### @capgo/inappbrowser 是什么？

应用程序浏览器中的电容插件注意：该包已被作者标记为弃用——This package has moved to @capgo/capacitor-inappbrowser\. Please install @capgo/capacitor-inappbrowser instead\.

### 如何安装 @capgo/inappbrowser？

在项目目录运行 npm install @capgo/inappbrowser，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@capacitor/core（\>=8\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @capgo/inappbrowser 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @capgo/inappbrowser 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @capgo/inappbrowser 可以商用吗？

@capgo/inappbrowser 使用 MPL-2\.0 许可。弱 Copyleft：可以商用，也可以和闭源代码一起使用；但如果分发时修改了 MPL 授权的文件，这些文件的修改需以 MPL 开源。以上为概括，不构成法律意见，请以许可原文为准。

### @capgo/inappbrowser 的下载量有多少？

根据 npm 官方下载统计，@capgo/inappbrowser 在 2026/10/09 – 2026/11/07 这 30 天内被下载 165,801 次，日均约 5,527 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @capgo/inappbrowser 还在维护吗？

最新版本 8\.6\.14 发布于 2026/05/28（5 个月前）；至今共发布 406 个版本，其中过去 12 个月发布了 66 个；首次发布于 2022/07/17。作者已将其标记为弃用，新项目建议寻找替代方案。

