Garante que todo elemento .color-refresh tenha também a classe .dark
// ==UserScript==
// @name Force Dark on whatsapp web
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Garante que todo elemento .color-refresh tenha também a classe .dark
// @author Você
// @match https://web.whatsapp.com/*
// @grant none
// @license MIT
// ==/UserScript==
(function () {
"use strict";
function ensureDarkClass(element) {
if (element.classList.contains("color-refresh") && !element.classList.contains("dark")) {
element.classList.add("dark");
}
}
// Força nos elementos existentes
function applyToAll() {
document.querySelectorAll(".color-refresh").forEach(ensureDarkClass);
}
// Executa assim que carregar
applyToAll();
// Observer global para monitorar mudanças na árvore
const observer = new MutationObserver((mutations) => {
for (const mutation of mutations) {
// Novos elementos inseridos
mutation.addedNodes.forEach((node) => {
if (node.nodeType === 1) {
if (node.classList && node.classList.contains("color-refresh")) {
ensureDarkClass(node);
}
// Caso o novo nó contenha outros dentro
node.querySelectorAll?.(".color-refresh").forEach(ensureDarkClass);
}
});
// Alterações de atributos (ex: classe removida)
if (mutation.type === "attributes" && mutation.target.classList.contains("color-refresh")) {
ensureDarkClass(mutation.target);
}
}
});
// Observa o documento inteiro
observer.observe(document.documentElement, {
childList: true,
attributes: true,
subtree: true,
attributeFilter: ["class"],
});
})();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址