javascript - 是否可以通过 chrome 扩展来观察网站 DOM 上的类变化?
问题描述
当外部网站中的特定类发生变化时,我试图触发一个动作。那可能吗?
解决方案
将 MutationObserver 附加到元素并观察属性更改。当发生突变时,检查attributeName
突变是否为class
:
const div = document.querySelector('div');
new MutationObserver((mutations) => {
if (mutations[0].attributeName === 'class') {
console.log('class change seen');
}
})
.observe(div, { attributes: true });
setTimeout(() => {
div.classList.add('foo');
}, 2000);
<div></div>
推荐阅读
- parsing - 如何在 xtext 语法中处理 xml 标签之间的类似字符串的值
- amazon-web-services - 无法连接到 AWS RDS mariadb 实例
- c# - WCF 客户端使用 WS-Security Web 服务
- django - 如何在 django 中访问另一个应用程序模型?
- javascript - NgRX store.select 返回存储对象而不是可观察对象
- reactjs - 反应还原反应还原问题
- javascript - HTML textbox.value 未在 JavaScript 函数中更新
- windows - 保持 `for /f` 重定向输出 / 让 `do()` 在命令期间发生
- pact - Pacts:需要非空地图(或非空字段)的匹配规则
- angular - Angular - 如何消除电话抖动?