问题标签 [chrome-extension-manifest-v2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
78 浏览

google-chrome - 如何获取从 chrome 扩展运行的 PWA(以及相关的启动 URL)列表?

我有一个 chrome 扩展。任务是获取在操作系统上运行的 PWA(从 Chrome 安装)的列表,并获取所有这些 PWA 的启动 URL。我找不到 chrome 扩展提供的任何 API 来实现这一点。如果有人可以引导我朝着正确的方向前进,那将非常有帮助

0 投票
1 回答
229 浏览

google-chrome - 如何在新的 Chrome 配置文件上加载解压缩的 chrome 扩展?

我正在开发一个带有清单版本 2 的解压本地 chrome 扩展程序,它使用chrome.identity API ,该 API目前适用于我的主要Chrome 配置文件,我还想将它安装在我的第二个 Chrome 配置文件上。

但是,我只在 Second Profile: 上收到此错误Unchecked runtime.lastError: OAuth2 request failed: Service responded with error: 'internal server error,这通常意味着 manifest.json 中的“key”字段设置不正确(由 chrome.identity API 抛出)。问题是,我在这个次要配置文件上遵循了与我在主要配置文件上完全相同的步骤,但它只在次要配置文件上给出错误:

  • 将 .crx 文件拖到chrome://extensions页面上。
  • 在搜索栏中键入chrome://version并导航到那里列出的“配置文件路径”。
  • 复制 manifest.json 中的“key”字段
  • 删除了从 .crx 安装的扩展
  • 将“密钥”粘贴到我的扩展文件夹中
  • 选择“加载解压”。

我也尝试过:

  • 这个答案这个答案,但它并没有解决我的问题。
  • 在将其安装到新配置文件之前从主配置文件中删除现有扩展,但这也不起作用。

附加信息:

  • 加载扩展时,它们的扩展 ID 是相同的,我相信这是预期的,因为它们来自同一个 .crx 文件。
  • 两个键也是相同的,我不确定这是预期的行为,因为每个配置文件都有自己的路径,当我安装 .crx 文件时,扩展文件夹会显示在该路径中。(也许有两个具有相同密钥的扩展会产生某种冲突,即使它们位于不同的配置文件上?)
  • 我正在使用带有 Chrome 版本 91.0.4472.114(官方构建)(64 位)的 Ubuntu 18.04
0 投票
0 回答
74 浏览

javascript - 如何在 chrome 扩展中的 popup.html 页面中附加列表?

我正在为 chrome 扩展编写一个简单的 javascript 代码,它将从网页中提取一些数据。我的计划是,如果我单击按钮,它将在弹出的 HTML 页面上弹出几个按钮。如果我单击其中一个按钮,它将提取一些数据并将其作为列表显示在同一页面上。但是,它无法在弹出页面上显示结果。我在这里错过了什么吗?

提前致谢。

popup.js

popup.html

过滤器.js

0 投票
0 回答
30 浏览

javascript - 如何循环发送内容脚本数据到 Popup.html - Chrome 扩展

这是清单版本 2。如果我使用直接 DOM 元素发送数据,则此代码可以正常工作。它将正确发送 popup.html 中的数据。

老实说,我不知道如何在 popup.html 中发送多个数据。我尝试了 for 循环,但出现了一些错误。我在点击复制网站 DOM 元素数据并将它们附加到 popup.html 中寻找什么。

网站示例。

0 投票
0 回答
50 浏览

google-chrome-extension - Chrome 扩展程序 - 在后台使用正文数据监控网络流量

我想在任何带有响应正文数据的页面上监控来自 background.js(或内容脚本)的网络流量。
我之前尝试过这些:
  chrome.devtools.network,它允许我们仅在 devtool 打开时监控网络。(我需要在后台执行此操作,或者可能是注入脚本)

  chrome.webRequest 它为我们提供了关于请求的有限信息,而没有它们的主体。

我还检查了这个
Chrome 扩展 - 如何获取 HTTP 响应正文?

出于安全性或其他原因,是否不可能,或者是否可以通过响应主体以某种方式观察网络流量?

0 投票
1 回答
101 浏览

google-chrome-extension - 在 ElectronJS 中加载 Chrome 扩展

谁能告诉我如何通过 ElectronJS 中的 Chrome 扩展注入我的 js?我有一个适用于 Chrome 的扩展程序(清单 v2)。它加载到电子中(我在 await loadExtension() 调用之后看到了一个对象),但没有插入它的代码(我没有看到标记更改,并且在开发工具控制台中没有任何内容)

如果您可以提供一个可以工作的示例扩展(也可能是 ElectronJS 中的代码),那将是非常完美的!:)

0 投票
1 回答
122 浏览

google-chrome-extension - Chrome 扩展程序 | 多个警报同时响起

我正在创建一个任务提醒扩展。用户可以选择继续添加任务并为每个任务设置提醒。我正在使用 chrome.storage 来存储这些任务,并在存储上使用 onChanged 监听器为添加到存储中的每个任务创建警报。但问题是,如果我为一项任务设置 2 分钟提醒,为另一项任务设置 3 分钟提醒。然后在 2 分钟结束时,我收到两个任务的通知,在 3 分钟结束时,我再次收到两个任务的通知。

背景.js

popup.js

清单.json

0 投票
0 回答
25 浏览

html - 如何修复内容安全策略 (CSP) 错误?

我正在制作一个 chrome 扩展并使用字体很棒的图标。打开扩展程序时,由于此错误,我看不到图标-

在此处输入图像描述

我看到了一些解决方案,人们告诉我要把它包含在某个地方script-src * data: https://ssl.gstatic.com 'unsafe-inline' 'unsafe-eval';——但我不知道在哪里包含这段代码。

供参考,这里是-

清单.json

0 投票
1 回答
118 浏览

google-chrome - 如何修复内容安全策略错误?(Chrome 扩展程序)

我正在构建一个 chrome 扩展,并使用了一些来自 font awesome 的图标。但是,由于以下错误,这些图标没有加载 -

在此处输入图像描述

作为参考,这里是 manifest.json 文件 -

0 投票
0 回答
32 浏览

google-chrome-extension - 如何在本地弹出 chrome 扩展“可选权限”对话框?

我试图让这个 可选的权限对话框在测试时在本地弹出

我一直在关注这个官方教程: https ://developer.chrome.com/docs/extensions/reference/permissions/

就我而言,理想情况下,当在我的网站上单击类“.cbtn”的按钮时,应该激活可选权限对话框。

这是我的 background.js 文件的 chrome.permission.request 部分

注意:我的 manifest.json 不包含书签权限。

在我的解压扩展的 chrome://extensions/?errors 中,我看到一条错误消息 - “未捕获的 TypeError:无法读取属性 'addEventListener' of null”

我不知道这是否是因为它试图在 chrome://extensions/ 页面本身而不是在我的特定网站上找到 .cbtn 类 .cbtn 的按钮实际上存在,

将不胜感激任何帮助,这方面的指针