您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Removes links, images, and text which refer to Rotten Tomatoes or its rottentomatoes.com website, on any website.
当前为
// ==UserScript== // @name Filter Out Rotten Tomatoes // @namespace http://tampermonkey.net/ // @version 1.0.1 // @description Removes links, images, and text which refer to Rotten Tomatoes or its rottentomatoes.com website, on any website. // @author jcunews // @match *://*/* // @grant none // ==/UserScript== (function() { var rxText = /rotten\b?tomatoes|(?:https?:\/\/)?(?:[a-z][a-z0-9-]*?\.)?rottentomatoes\.com[^,. ]+/gi, rxDomain = /(?:[a-z][a-z0-9-]*?\.)?rottentomatoes\.com/i; function processElement(node, url, nextNode) { if (rxDomain.test(node.href) || rxDomain.test(node.src) || rxText.test(getComputedStyle(node).backgroundImage)) { node.remove(); } else { for (node = node.childNodes[0]; node; node = nextNode) { nextNode = node.nextSibling; processNode(node); } } } function processNode(node) { switch (node.nodeType) { case Node.ELEMENT_NODE: processElement(node); break; case Node.TEXT_NODE: if (rxText.test(node.nodeValue)) node.nodeValue = node.nodeValue.replace(rxText, ""); break; } } processNode(document.body); (new MutationObserver(function(records) { records.forEach(function(record) { if (record.type === "characterData") { if (rxText.test(record.target.nodeValue)) record.target.nodeValue = record.target.nodeValue.replace(rxText, ""); } else record.addedNodes.forEach(processNode); }); })).observe(document.body, {childList: true, characterData: true, subtree: true}); })();