chromium 内核浏览器刷新扩展列表
文档说明: 仅仅记录关键点方;2023-04-18
缘由:
用 shell 脚本批量更新扩展
更新方法是:替换整个文件夹;
更新完毕,扩展功能并不会生效还需逐个刷新扩展
环境要求:
chromium 内核浏览器 版本 > 87
打开页面:chrome://extensions/
的控制台
web控制台执行下面的脚本即可
扩展管理页面,启用开发者模式
//扩展列表启用开发模式
let dev_mode_button = document
.querySelector('extensions-manager')
.shadowRoot
.querySelector('extensions-toolbar')
.shadowRoot
.querySelector('cr-toggle#devMode')
if (dev_mode_button.getAttribute('aria-pressed') !== 'true') {
dev_mode_button.click()
}
刷新所有已经启用的扩展
document
.querySelector('extensions-manager')
.shadowRoot
.querySelector('extensions-item-list')
.shadowRoot
.querySelectorAll('extensions-item').forEach((element, key, arr) => {
let e = element.shadowRoot
let card = e.querySelector('#card')
console.log(card)
console.log(card.classList)
if (Array.from(card.classList).includes('enabled')) {
console.log(
e.querySelector('#extension-id').innerText,
e.querySelector('#name').innerText,
e.querySelector('#description').innerText,
e.querySelector('#dev-reload-button'),
)
e.querySelector('#dev-reload-button').click()
}
})