Tampermonkey是否可以修改其他扩展程序的弹出窗口?
是否可以使用Tampermonkey修改其他扩展程序的弹出窗口?
是可以实现的,该操作可以满足你提升自动化效率的需求,但需要满足必要的权限和配置前提:
- 首先需要获取目标扩展(如Google tag assistant legacy、LastPass)的唯一扩展ID,以及对应弹窗页面的
chrome-extension://协议访问路径 - 其次需要在Tampermonkey的系统设置中开启「允许访问扩展页面」的权限,部分场景还需要开启「允许访问文件URL」权限
实现原理
其他扩展的弹出窗口本质上是独立的HTML页面,运行在chrome-extension://[扩展ID]/[弹窗文件路径]的专属协议地址下,只要Tampermonkey获得了该页面的访问权限,就可以和操作普通网页一样,修改其DOM结构、注入自定义逻辑、绑定自动化事件等。
最小配置示例
你可以参考如下脚本头配置编写对应的自动化脚本:
// ==UserScript== // @name 扩展弹窗自动化修改脚本 // @match chrome-extension://替换为目标扩展ID/popup.html // @grant none // @run-at document-end // ==/UserScript== // 下方编写你的自定义操作逻辑 // 例:自动点击弹窗内的确认按钮 // document.querySelector('.confirm-btn')?.click()
注意事项
- 若目标扩展的弹窗为动态生成的无路径临时页面,需要额外在脚本头添加
// @match about:blank以及// @matchOriginInheritance top配置适配 - 对密码管理类扩展(如LastPass)的弹窗进行修改存在极高的账号信息泄露风险,请只运行自己编写的、经过验证的脚本
- 部分扩展会对自身弹窗页面设置CSP内容安全策略限制,你可以在Tampermonkey的实验性设置中开启「忽略页面CSP」配置,即可正常注入脚本
内容的提问来源于stack exchange,提问作者Tim Biesenbeek
相关产品推荐
相关产品推荐

