Notes techniques de zhaoJian

Règles de filtrage du bloqueur de publicités VIP QQ Mail version nouvelle

Technologie ~4969 mots · 13 min de lecture - vues

La nouvelle version de la boîte mail QQ est disponible depuis un certain temps. Au début, les dossiers ne pouvaient pas être triés et il n’y a eu aucune réponse après les retours.

Avec la mise à jour d’août, les dossiers ont enfin pu être triés. Mais avec cela sont venues des publicités d’abonnement VIP accablantes et agressives. Je me demande ce que l’équipe opérationnelle avait en tête, sont-ils fous d’argent ? Neuf publicités recommandées sur une page, seule l’adhésion VIP de la boîte QQ peut y parvenir !!!

Règles de filtrage du bloqueur de publicités VIP QQ Mail version nouvelle

C’est pourquoi il existe maintenant ces règles de filtrage du bloqueur de publicités d’abonnement VIP de la nouvelle boîte QQ. Testé uniquement avec Adblock Plus et Brave, on ne sait pas si cela fonctionne avec d’autres.

Avis de non-responsabilité : Ces règles de filtrage des publicités sont uniquement pour mon usage personnel, en tant que sauvegarde lors du changement de système. Si vous voyez ces règles, fermez immédiatement les yeux et ne les utilisez pas comme référence. Je n’assume aucune responsabilité légale pour les références, citations, utilisations personnelles ou commerciales.

Adresse de mise à jour continue : https://github.com/zhaojiannet/qq-mail-adblock

[Adblock Plus]
! Title: Règles de blocage des publicités VIP QQ Mail
! Description: Bloque les publicités de promotion d'abonnement VIP dans la nouvelle boîte QQ
! Homepage: https://github.com/zhaojiannet/qq-mail-adblock
! Last modified: 2025-12-25
! Version: 1.0.0
! License: MIT
! =====================================
! Côté gauche de l'avatar
! =====================================
mail.qq.com##div.xmail-cmp-vip-float-bubble:has(.cmp-vip-float-bubble-body)
mail.qq.com##div:has(span:has-text(开通 VIP 会员)):has(.cmp-vip-icon)
mail.qq.com##div.cmp-vip-float-bubble-body:has-text(让邮箱更好用)
! =====================================
! Fenêtre contextuelle de l'avatar
! =====================================
wx.mail.qq.com##.xmail-cmp-vip-embed-bubble
wx.mail.qq.com##div.xmail-ui-btn.ui-btn-size32.ui-btn-them-clear-gray.footer-btn:nth-of-type(1)
wx.mail.qq.com##.vip-icon-click.vip-icon-in-panel.cmp-vip-state-icon.common-state-icon
wx.mail.qq.com##.profile-user-info > .cmp-vip-state-icon.common-state-icon
wx.mail.qq.com##.cmp-vip-icon-click.cmp-vip-icon-in-panel.cmp-vip-state-icon.cmp-common-state-icon
! =====================================
! Stockage d'application
! =====================================
wx.mail.qq.com##div.setting-group:nth-of-type(1)
wx.mail.qq.com##.content-time
! =====================================
! Paramètres - Haut
! =====================================
wx.mail.qq.com##.xmail-cmp-vip-banner-common
! =====================================
! Paramètres - Stockage
! =====================================
wx.mail.qq.com##.mail-setting-storage > div.setting-item-wrap:nth-of-type(2) > div.setting-item-row:nth-of-type(2)
! =====================================
! Paramètres - Thème d'affichage
! =====================================
wx.mail.qq.com##.setting-item-wrap.mail-setting-themes > div.setting-item-row:nth-of-type(1)
wx.mail.qq.com##.setting-item-wrap.mail-setting-themes > div.setting-item-row:nth-of-type(2) > .setting-theme-cards
wx.mail.qq.com##.setting-item-wrap.mail-setting-themes > div.setting-item-row:nth-of-type(3)
! =====================================
! Paramètres - Envoyer un email
! =====================================
wx.mail.qq.com##.inactive-account-table
! =====================================
! Paramètres - Requête en libre-service
! =====================================
wx.mail.qq.com##.xmail-ui-hyperlink.query-head-note
wx.mail.qq.com##.xmail-ui-hyperlink.ui-hyperlink-is-inline.tab-title-vip-link
! =====================================
! Paramètres - Global
! =====================================
wx.mail.qq.com##.cmp-streamer-right

Code pour empêcher la couche contextuelle de disparaître automatiquement, exécuter dans la console

setTimeout(() => {
// Sauvegarder l'addEventListener original
const originalAddEventListener = EventTarget.prototype.addEventListener;
// Intercepter tous les événements de clic nouvellement ajoutés
EventTarget.prototype.addEventListener = function(type, listener, options) {
if (type === 'click') {
console.log('Événement de clic intercepté');
return; // Ne pas ajouter cet événement
}
return originalAddEventListener.call(this, type, listener, options);
};
// Supprimer tous les événements de clic existants sur la page
document.querySelectorAll('*').forEach(el => {
const clone = el.cloneNode(true);
if (el.parentNode) {
el.parentNode.replaceChild(clone, el);
}
});
console.log('✓ Toutes les fonctions de fermeture par clic désactivées');
}, 3000);
Partager :

Commentaires