Google Chrome网络浏览器的扩展开发。您可以使用HTML,JavaScript和CSS等Web技术编写它们。
如何在没有构建/捆绑工具的情况下在 Chrome 扩展中使用 Vuetify?
我正在创建一个 Chrome 扩展程序,并希望使用 Vue.js 和 Vuetify 作为弹出 UI。 该扩展使用清单版本 3(因此,与 v2 相比,CSP 限制更严格)。 我不想使用任何
使用 chrome.webRequest.onAuthRequired 进行代理身份验证
我在 chrome 扩展上遇到了一个问题,希望你能帮我解决。情况如下。 我制作了一个扩展,允许使用身份验证凭据更改代理服务器(用户/
我查看了 chrome.dom.openOrClosedShadowRoot API(参考:https://developer.chrome.com/docs/extensions/reference/dom/#method-openOrClosedShadowRoot),但这似乎不适用于影子 -根(...
我正在开发一个浏览器扩展,它使用 createElement 将按钮 (GetInfo) 添加到网站。该扩展包含一个内容脚本,用于操作 DOM 并成功添加此按钮。
我有一个 Logger 类,它可以在 JS 浏览器控制台中显示日志之前美化日志。我使用 .bind() 让控制台在...的源中显示正确的脚本名称和行(如 script_name.ts:62)
如何将动态用户脚本应用到 Chrome MV3 扩展程序中的特定选项卡(UserScripts API)
Chrome 在 chrome 120 beta 中发布了用户脚本 API。 现在我们可以从扩展运行动态脚本,但定位特定选项卡的唯一方法似乎是 matches 属性
我正在尝试在 Twitter 上注入我的内容脚本,但不起作用。可能的解决方案是什么
{ "name": "反应扩展", "description": "React 中的 Chrome 扩展!", “版本”:“1.0.0”, “清单版本”:3...
Chrome 扩展 - 加密要存储在 Chrome 存储中的数据
我有一个 chrome 扩展,它使用 chrome.storage API 在本地存储一些用户数据。 因此,引用文档: 不应存储机密的用户信息!存储...
service_worker 脚本加载失败。 Safari 扩展程序出错,从 chrome 扩展程序转换而来
我已使用 https://developer.apple.com/documentation/safariservices/safari_web_extensions/ 中记录的工具将最初为 chrome 制作的 Web 扩展转换为 safari
我正在尝试编写一个 Chrome 扩展,其中部分操作是将元素的样式更改为 css 文件中提供的样式。 CSS 内容是扩展的内部内容,不是从任何地方下载的...
Chrome 扩展:如何将 ArrayBuffer 或 Blob 从内容脚本传递到后台而不丢失其类型?
我有这个内容脚本,它使用 XHR 下载一些二进制数据,稍后将其发送到后台脚本: var self = this; var xhr = new XMLHttpRequest(); xhr.open('GET', url); xhr.
我想在这里做一些奇怪的事情。 我制作了一个工作正常的扩展,但我试图阻止用户删除它。它可以防止从商店中删除扩展程序,但不能......
C# 如何在 selenium 测试中访问 Chrome modheader 扩展
我正在使用名为“Mod Header”的 Chrome 扩展来修改每个请求的标头。具体来说,我正在通过客户端证书,并且测试证书在我的 Automa 中是否有效...
我的 chrome 扩展程序中有一些图像,我希望用户在使用扩展程序时能够将它们插入到他们的页面中。 图像将显示在扩展程序弹出窗口中,但是...
document.getElementById() 在 Chrome 扩展中返回 null
我正在尝试制作 Chrome 扩展... 我的 popup.html 有 测试 我正在尝试制作 Chrome 扩展... 我的popup.html有 <textarea id="userData" name="userData" rows="10" cols="20">test</textarea> <button id="doit" type="button">Do it!</button> 我的popup.js有 document.getElementById("userData").value = 'xxx'; const doit_btn = document.getElementById('doit'); doit_btn.addEventListener('click', async () => { const [tab] = await chrome.tabs.query({ active: true, currentWindow: true }); chrome.scripting.executeScript({ target: { tabId: tab.id }, func: load_data }); }); function load_json() { console.log('load_data() is running...'); document.getElementById("userData").value = 'yyy'; } 根作品中的getElementById("userData"),文本区域值被设置。但是当我点击按钮时,我确实在控制台中得到了 load_data() is running...,但随后出现错误,指出 document.getElementById("userData") 为空并且无法获取其值。 为什么? load_data() 在网页上下文中执行,而不是在扩展程序上下文中执行。因此,它无法直接访问扩展程序的 HTML (popup.html)。 您可以将要在 textarea 中设置的值作为参数传递给执行的脚本: ..... //pass the value to the executed script chrome.scripting.executeScript({ target: { tabId: tab.id }, func: load_data, args: ['yyy'] }); .... .... function load_data(value) { console.log('load_data() is running...'); //set the received value document.getElementById("userData").value = value; }
Chrome 如何获取浏览器缩放级别(通过触摸板或鼠标滚轮)
我正在尝试用JS获取浏览器的缩放级别。不是内置缩放(通过使用命令和 + 或 -),而是用户使用触摸板或鼠标滚轮调整窗口大小时的缩放。 我试过了...
我正在构建一个 chrome 扩展,并且我已经准备了一个内容脚本,该脚本应该在页面中插入一些代码。代码中有一个使用
拒绝从“blob:<URL>”创建工作线程,因为它违反了以下内容安全策略指令:“child-src 'self' *.website.com
我正在尝试构建 chrome 扩展(MV3) - 我正在加载一些使用工作人员的库 - 我在资源文件夹中添加了工作人员(.js 和 .wasm),以便我可以“本地”加载它们...
假设我有两个 chrome 用户,其中一个使用我的工作帐户登录,另一个使用我的个人帐户登录。 我用我的个人帐户登录了我的 GitHub/StackOverflow 等帐户...
我正在构建我的第一个 Chrome 扩展程序。这是我目前正在尝试做的一件非常简单的事情,因此我可以尝试了解它的工作原理并以此为基础。 无论如何,我正在尝试...