您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Show domain and mark unknown emails.
当前为
// ==UserScript== // @name Gmail Domain Alert // @name:es Gmail Alerta de Dominio // @namespace http://tampermonkey.net/ // @version 1.0 // @description Show domain and mark unknown emails. // @description:es Mostrar dominio y marcar correos no conocidos. // @author IgnaV // @match https://mail.google.com/* // @license MIT // @grant GM_setValue // @grant GM_getValue // ==/UserScript== (function() { 'use strict'; const addIcon = GM_getValue('addIcon', true); const addDomain = GM_getValue('addDomain', true); const allowedDomains = GM_getValue('allowedDomains', []); const hasDomains = allowedDomains.length !== 0; GM_setValue('addIcon', addIcon); GM_setValue('addDomain', addDomain); GM_setValue('allowedDomains', allowedDomains); if (!addIcon && !addDomain && !hasDomains) return; const processedElements = new Set(); function addDomainContainer(element, domain) { const domainContainer = document.createElement('div'); domainContainer.className = 'domain-container'; addIconToContainer(domainContainer, domain); addDomainToContainer(domainContainer, domain); element.appendChild(domainContainer); } function addIconToContainer(domainContainer, domain) { const icon = document.createElement('img'); icon.src = `https://www.google.com/s2/favicons?domain=${domain}`; icon.className = 'domain-icon'; domainContainer.appendChild(icon); } function addDomainToContainer(domainContainer, domain) { const domainSpan = document.createElement('span'); domainSpan.className = 'domain-text'; domainSpan.textContent = domain; domainContainer.appendChild(domainSpan); } function markUnknownDomain(emailElement, domain) { if (!allowedDomains.includes(domain)) { emailElement.classList.add('not-allowed-domain'); } } if (!addIcon && !addDomain) { addDomainContainer = function() {}; } if (!addIcon) { addIconToContainer = function() {}; } if (!addDomain) { addDomainToContainer = function() {}; } if (!hasDomains) { markUnknownDomain = function() {}; } function addStyles(addIcon, addDomain, hasDomains) { const style = document.createElement('style'); style.type = 'text/css'; let css = ``; if (addIcon || addDomain) { css += ` .bA4 { padding-top: 9px; } .domain-container { display: flex; align-items: center; margin-top: -4px; font-size: 10px; color: #888; width: fit-content; height: 11px; padding: 1px 2px; } `; } if (addIcon) { css += ` .domain-icon { width: 10px; height: 10px; margin-right: 3px; } `; } if (addDomain) { css += ` .domain-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 10px; color: #888; } `; } if (hasDomains) { css += ` .not-allowed-domain { background-color: #f8d7da; color: #721c24; border-radius: 3px; } `; } style.appendChild(document.createTextNode(css)); document.head.appendChild(style); } function addDomainBelowName() { const nameElements = document.querySelectorAll('.bA4'); nameElements.forEach((element) => { if (processedElements.has(element)) return; const emailElement = element.querySelector('[email]'); if (!emailElement) return; const email = emailElement.getAttribute('email'); const domain = email.split('@')[1].split('.').slice(-2).join('.'); addDomainContainer(element, domain); markUnknownDomain(emailElement, domain); processedElements.add(element); }); } addStyles(addIcon, addDomain, hasDomains); const observer = new MutationObserver((mutations) => { mutations.forEach(() => { addDomainBelowName(); }); }); observer.observe(document.body, { childList: true, subtree: true }); window.addEventListener('load', addDomainBelowName); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址