您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Hides conversations in the messages dialog with specific users, and stops those users from appearing as suggested recipients of posts when you click share.
// ==UserScript== // @name Tumblr hide without blocking // @namespace https://github.com/holyspiritomb // @match https://www.tumblr.com/* // @grant GM_getValue // @grant GM_setValue // @grant GM_addStyle // @grant GM_listValues // @version 0.0.5 // @author holyspiritomb // @run-at document-end // @require https://code.jquery.com/jquery-latest.min.js // @require https://greasyfork.org/scripts/446257-waitforkeyelements-utility-function/code/waitForKeyElements%20utility%20function.js?version=1059316 // @inject-into page // @icon https://www.google.com/s2/favicons?domain=tumblr.com // @description Hides conversations in the messages dialog with specific users, and stops those users from appearing as suggested recipients of posts when you click share. // ==/UserScript== let valueArrayList = GM_listValues(); function inList(itemToTest, someList) { let itemIndex = someList.indexOf(itemToTest); if (itemIndex == -1) { return false; } else { return true; } } function annotateConversations() { $('button[aria-label=Conversation] div.pTvJc').each(function() { let friendName = $(this)[0].innerText; let conversation = $(this).closest('button'); let convClasses = Array.from(conversation[0].classList); if (convClasses.indexOf(friendName) == -1) { conversation.addClass(friendName); console.log(`added ${friendName} as class to a conversation`); } }); } if (valueArrayList) { console.log("get value of key hiddenRecipients"); let hiddenRecipients = Array.from(GM_getValue("hiddenShareRecipients")); if (hiddenRecipients[0] != "hiddenfriend") { console.log("processing array of hidden recipients in share popup"); for (friend of hiddenRecipients) { console.log(`adding css to hide ${friend} from share popup`); GM_addStyle(`button[aria-label="Select ${friend}"]{display:none;}`); }; } else { console.log("no one to hide in the share popup"); } let hiddenConversations = Array.from(GM_getValue("hiddenConversations")); if (hiddenConversations[0] != "hiddenfriend") { for (hiddenConversationPartner of hiddenConversations) { //console.log(`adding css rule to hide ${hiddenConversationPartner} in conversations`); GM_addStyle(`button[aria-label=Conversation].${hiddenConversationPartner}{display:none;}`); }; let currentPage = document.location.href; if (currentPage == "https://www.tumblr.com/messaging") { waitForKeyElements("button[aria-label='Conversation'] div.pTvJc", function() { annotateConversations(); }, false, 1000, 20); } else { waitForKeyElements("button[aria-label='Conversation'] div.pTvJc", function() { annotateConversations(); }, false, 300, -1); } } else { console.log("no conversations to hide"); } } else { console.log("No values stored. making default keys now"); GM_setValue("hiddenShareRecipients", ["hiddenfriend"]); GM_setValue("hiddenConversations", ["hiddenfriend"]); }