您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds filtering to show only unread messages.
// ==UserScript== // @name Google Fi Messages // @namespace http://tampermonkey.net/ // @version 2024-07-03 // @description Adds filtering to show only unread messages. // @author gofreddo // @match https://messages.google.com/web/conversations // @icon https://www.google.com/s2/favicons?sz=64&domain=google.com // @grant none // @license MIT // ==/UserScript== (function() { 'use strict'; // Function to hide conversation items with data-e2e-is-unread="false" function hideUnreadFalseItems() { // Select all mws-conversation-list-item elements const conversationItems = document.querySelectorAll('mws-conversation-list-item'); // Loop through each conversation item conversationItems.forEach(item => { // Find the child 'a' element with the attribute data-e2e-is-unread const aElement = item.querySelector('a[data-e2e-is-unread]'); // Check if the attribute value is "false" if (aElement && aElement.getAttribute('data-e2e-is-unread') === 'false') { // Hide the conversation item item.style.display = 'none'; } }); } // Function to show all conversation items function showAll() { // Select all mws-conversation-list-item elements const conversationItems = document.querySelectorAll('mws-conversation-list-item'); // Loop through each conversation item conversationItems.forEach(item => { item.style.display = ''; }); } // Function to add the "Unread" and "Show All" links to the main-nav-header function addNavLinks() { // Select the div with class "main-nav-header" const mainNavHeader = document.querySelector('.main-nav-header'); if (mainNavHeader) { // Create the "Unread" link if (!mainNavHeader.querySelector('.unread-link')) { const unreadLink = document.createElement('a'); unreadLink.href = '#'; unreadLink.textContent = 'Unread'; unreadLink.className = 'unread-link'; unreadLink.style.marginLeft = '10px'; // Add some margin for better spacing // Add a click event listener to run hideUnreadFalseItems when clicked unreadLink.addEventListener('click', (event) => { event.preventDefault(); // Prevent the default link behavior hideUnreadFalseItems(); }); // Append the "Unread" link to the main-nav-header mainNavHeader.appendChild(unreadLink); } // Create the "Show All" link if (!mainNavHeader.querySelector('.show-all-link')) { const showAllLink = document.createElement('a'); showAllLink.href = '#'; showAllLink.textContent = 'Show All'; showAllLink.className = 'show-all-link'; showAllLink.style.marginLeft = '10px'; // Add some margin for better spacing // Add a click event listener to run showAll when clicked showAllLink.addEventListener('click', (event) => { event.preventDefault(); // Prevent the default link behavior showAll(); }); // Append the "Show All" link to the main-nav-header mainNavHeader.appendChild(showAllLink); } } } // Create a MutationObserver to watch for changes in the DOM const observer = new MutationObserver(mutations => { mutations.forEach(mutation => { // Check if nodes were added mutation.addedNodes.forEach(node => { addNavLinks(); }); }); }); // Configure the observer to watch for child node additions const config = { childList: true, subtree: true }; // Start observing the body or the container element that holds the conversation items observer.observe(document.body, config); // Initial run to add the nav links addNavLinks(); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址