# @cliqz-oss/firefox-client 中文文档

规范地址：https://npmcn.com/package/%40cliqz-oss/firefox-client/

版本：0\.3\.1
npm 元数据更新时间：2022-04-04T23:24:29.959Z
中文译文更新时间：2026-11-10T01:54:48.019Z
软件包许可：未声明

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

原始 npm 页面：https://www.npmjs.com/package/%40cliqz-oss/firefox-client
原文对照：https://npmcn.com/package/%40cliqz-oss/firefox-client/?lang=original
项目主页：https://github.com/harthur/firefox-client#readme
源码仓库：https://github.com/harthur/firefox-client

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

- 包体积（解压后）：73.1 kB，36 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：2 个
- 首次发布：2018-03-13T10:48:42.711Z
- 最新版本发布：2018-03-13T10:48:42.829Z
- 近 30 天下载量：26720（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

Firefox 远程调试客户端

## 安装

```sh
npm install @cliqz-oss/firefox-client
```

也可以使用：`pnpm add @cliqz-oss/firefox-client`、`yarn add @cliqz-oss/firefox-client`、`bun add @cliqz-oss/firefox-client`

## README

# firefox 客户端

`firefox-client` 是一个 [节点](https://npmcn.com/package/%40cliqz-oss/firefox-client/nodejs.org) 用于远程调试 Firefox 的库。 你可以用它来制造事情 [fxconsole 函数](https://github.com/harthur/fxconsole),一个远程JavaScript REPL.

```javascript
var FirefoxClient = require("firefox-client");

var client = new FirefoxClient();

client.connect(6000, function() {
  client.listTabs(function(err, tabs) {
    console.log("first tab:", tabs[0].url);
  });
});
```

## 安装

与 [节点.js](http://nodejs.org/) npm 软件包管理器 :

```bash
npm install firefox-client
```

## 连接中

### 桌面火花

1.  启用远程调试( 您只需做一次)
    
2.  开德佛道. **Web 开发者** > 翻译: **切换工具**
    
3.  访问设置面板( 工具图标)
    
4.  在高级设置下检查“ 允许远程调试”
    
5.  听一个连接
    
6.  打开 Firefox 命令行 **工具** > 翻译: **Web 开发者** > 翻译: **开发者工具栏**。 。 。 .
    
7.  通过输入此命令启动服务器 : `listen 6000` (何处) `6000` 是端口号码)
    

### Android 的 Firefox 软件

执行指令 [这个哈克视频](https://www.youtube.com/watch?v=Znj_8IFeTVs)

### Firefox 操作系统1.1 模拟器

一套有限的API(`Console`, (中文(简体) ), `StyleSheets`)与 [模拟 4.0](https://addons.mozilla.org/en-US/firefox/addon/firefox-os-simulator/)见 [维基指令](https://github.com/harthur/firefox-client/wiki/Firefox-OS-Simulator-Instructions) 用于连接.

`client.listTabs()` 将列出模拟器中当前打开的应用程序 .

### Firefox OS 1.2+ (英语). 模拟器和装置

`client.getWebapps()` 将曝光模拟器中的 Webapps, 每个应用程序执行 `Tab` API (英语).

```
client.getWebapps(function(err, webapps) {
  webapps.getApp("app://homescreen.gaiamobile.org/manifest.webapp", function (err, app) {
    console.log("homescreen:", actor.url);
    app.Console.evaluateJS("alert('foo')", function(err, resp) {
      console.log("alert dismissed");
    });
  });
});
```

## 兼容性

此库的最新版本将保持兼容性 [夜来火狐](http://nightly.mozilla.org/)。几乎全部将兼容 [火狐奥罗拉](http://www.mozilla.org/en-US/firefox/aurora/) 还有.

## API 密码

A 类 `FirefoxClient` 是 API 的切入点。 连接后,得到一个 `Tab` 对象为 `listTabs()` 或者说 `selectedTab()`。一旦你有一个 `Tab`,你可以调用方法,并听从标签模块中的事件, `Console` 或者说 `Network`。还有实验 `DOM` 财务报告和审定财务报表 `StyleSheets` 选项卡模块,以及即将到来的 `Debugger` 模块.

#### 方法

API 几乎所有的呼叫都使用一个调用回调,它会以错误被调用作为第一个参数(或 `null` 如果没有出错,则返回值为第二个值:

```javascript
tab.Console.evaluateJS("6 + 7", function(err, resp) {
  if (err) throw err;

  console.log(resp.result);
});
```

#### 活动

模块是 `EventEmitter`s, 倾听事件 `on` 或者说 `once`,停止倾听 `off`数字 :

```javascript
tab.Console.on("page-error", function(event) {
  console.log("new error from tab:", event.errorMessage);
});
```

单元和物品的提供情况摘要:

#### [火狐浓度](http://github.com/harthur/firefox-client/wiki/FirefoxClient)

方法: `connect()`, (中文(简体) ), `disconnect()`, (中文(简体) ), `listTabs()`, (中文(简体) ), `selectedTab()`, (中文(简体) ), `getWebapps()`, (中文(简体) ), `getRoot()`

活动 : `"error"`, (中文(简体) ), `"timeout"`, (中文(简体) ), `"end"`

#### [标签](https://github.com/harthur/firefox-client/wiki/Tab)

属性 : `url`, (中文(简体) ), `title`

方法: `reload()`, (中文(简体) ), `navigateTo()`, (中文(简体) ), `attach()`, (中文(简体) ), `detach()`

活动 : `"navigate"`, (中文(简体) ), `"before-navigate"`

#### [标签。 控制台](https://github.com/harthur/firefox-client/wiki/Console)

方法: `evaluateJS()`, (中文(简体) ), `startListening()`, (中文(简体) ), `stopListening()`, (中文(简体) ), `getCachedLogs()`

活动 : `"page-error"`, (中文(简体) ), `"console-api-call"`

#### [JS 目标](https://github.com/harthur/firefox-client/wiki/JSObject)

属性 : `class`, (中文(简体) ), `name`, (中文(简体) ), `displayName`

方法: `ownPropertyNames()`, (中文(简体) ), `ownPropertyDescriptor()`, (中文(简体) ), `ownProperties()`, (中文(简体) ), `prototype()`

#### [标签。 网络](https://github.com/harthur/firefox-client/wiki/Network)

方法: `startLogging()`, (中文(简体) ), `stopLogging()`, (中文(简体) ), `sendHTTPRequest()`

活动 : `"network-event"`

#### [网络活动](https://github.com/harthur/firefox-client/wiki/NetworkEvent)

属性 : `url`, (中文(简体) ), `method`, (中文(简体) ), `isXHR`

方法: `getRequestHeaders()`, (中文(简体) ), `getRequestCookies()`, (中文(简体) ), `getRequestPostData()`, (中文(简体) ), `getResponseHeaders()`, (中文(简体) ), `getResponseCookies()`, (中文(简体) ), `getResponseContent()`, (中文(简体) ), `getEventTimings()`

活动 : `"request-headers"`, (中文(简体) ), `"request-cookies"`, (中文(简体) ), `"request-postdata"`, (中文(简体) ), `"response-start"`, (中文(简体) ), `"response-headers"`, (中文(简体) ), `"response-cookies"`, (中文(简体) ), `"event-timings"`

#### [标签.DOM](https://github.com/harthur/firefox-client/wiki/DOM)

方法: `document()`, (中文(简体) ), `documentElement()`, (中文(简体) ), `querySelector()`, (中文(简体) ), `querySelectorAll()`

#### [多摩多语种](https://github.com/harthur/firefox-client/wiki/DOMNode)

属性 : `nodeValue`, (中文(简体) ), `nodeName`, (中文(简体) ), `namespaceURI`

方法: `parentNode()`, (中文(简体) ), `parents()`, (中文(简体) ), `siblings()`, (中文(简体) ), `nextSibling()`, (中文(简体) ), `previousSibling()`, (中文(简体) ), `querySelector()`, (中文(简体) ), `querySelectorAll()`, (中文(简体) ), `innerHTML()`, (中文(简体) ), `outerHTML()`, (中文(简体) ), `setAttribute()`, (中文(简体) ), `remove()`, (中文(简体) ), `release()`

#### [标签。 样式表](https://github.com/harthur/firefox-client/wiki/StyleSheets)

方法: `getStyleSheets()`, (中文(简体) ), `addStyleSheet()`

#### [样式表](https://github.com/harthur/firefox-client/wiki/StyleSheet)

属性 : `href`, (中文(简体) ), `disabled`, (中文(简体) ), `ruleCount`

方法: `getText()`, (中文(简体) ), `update()`, (中文(简体) ), `toggleDisabled()`, (中文(简体) ), `getOriginalSources()`

活动 : `"disabled-changed"`, (中文(简体) ), `"ruleCount-changed"`

#### 标签。 内存

方法: `measure()`

#### 网络应用程序

方法: `listRunningApps()`, (中文(简体) ), `getInstalledApps()`, (中文(简体) ), `watchApps()`, (中文(简体) ), `unwatchApps()`, (中文(简体) ), `launch()`, (中文(简体) ), `close()`, (中文(简体) ), `getApp()`, (中文(简体) ), `installHosted()`, (中文(简体) ), `installPackaged()`, (中文(简体) ), `installPackagedWithADB()`, (中文(简体) ), `uninstall()`

活动 : `"appOpen"`, (中文(简体) ), `"appClose"`, (中文(简体) ), `"appInstall"`, (中文(简体) ), `"appUninstall"`

## 实例

[fxconsole 函数](https://github.com/harthur/fxconsole) - Firefox 的远程JavaScript控制台

[webapps 测试脚本](https://pastebin.mozilla.org/5094843) - 所有网络应用功能的样本使用

## 反馈

你从API那里需要什么? [提交一个问题](https://github.com/harthur/firefox-client/issues/new)。 。 。 .

## 常见问题

### @cliqz-oss/firefox-client 是什么？

Firefox 远程调试客户端

### 如何安装 @cliqz-oss/firefox-client？

在项目目录运行 npm install @cliqz-oss/firefox-client，或使用 pnpm add / yarn add / bun add。

### @cliqz-oss/firefox-client 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/cliqz-oss\_\_firefox-client 是否存在。

### @cliqz-oss/firefox-client 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @cliqz-oss/firefox-client 可以商用吗？

@cliqz-oss/firefox-client 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @cliqz-oss/firefox-client 的下载量有多少？

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

### @cliqz-oss/firefox-client 还在维护吗？

最新版本 0\.3\.1 发布于 2018/03/13（8 年前）；至今共发布 1 个版本，其中过去 12 个月发布了 0 个；首次发布于 2018/03/13。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

