Skip to content

扩展调用 ​

猫抓通过 chrome.runtime.onMessageExternal 对外提供 API,其他扩展或网页可以直接向猫抓发送消息,获取当前捕获的资源数据。

发送消息 ​

javascript
chrome.runtime.sendMessage(EXTENSION_ID, { action: "getData" }, (response) => {
  console.log(response);
});

EXTENSION_ID 为猫抓扩展的 ID,可在浏览器的扩展管理页面查看。

支持的 action ​

消息格式为对象,通过 action 字段区分不同的功能:

getData — 获取所有数据 ​

获取所有标签页捕获的资源数据,返回以 tabId 为键的对象。

参数类型必填说明
tabIdstring/number否指定标签页 ID 时,只返回该标签页的数据(不存在时返回 null)
javascript
// 获取所有标签页的数据
chrome.runtime.sendMessage(EXTENSION_ID, { action: "getData" }, (response) => {
  // response: { "<tabId>": 资源数据, ... }
});

// 获取指定标签页的数据
chrome.runtime.sendMessage(EXTENSION_ID, { action: "getData", tabId: 123456 }, (response) => {
  // response: 该标签页的资源数据,不存在时为 null
});

getCurrentTabData — 获取当前标签页数据 ​

获取当前标签页(猫抓正在监听的标签页)捕获的资源数据。

参数类型必填说明
tabIdstring/number否不传时默认取当前标签页;也可手动指定,行为与 getData 传 tabId 一致
javascript
chrome.runtime.sendMessage(EXTENSION_ID, { action: "getCurrentTabData" }, (response) => {
  // response: 当前标签页的资源数据,没有捕获到资源时为 null
});

WARNING

action 不在上述范围内时,猫抓不会响应,回调中的 response 为 undefined。调用前请确保猫抓扩展已安装并启用。