您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Auto hide some tags you don't like to see
当前为
// ==UserScript== // @name ao3 hide some tags // @description Auto hide some tags you don't like to see // @namespace ao3 // @include http*://archiveofourown.org/* // @grant unsafeWindow // @version 1 // ==/UserScript== (function($) { /**** CONFIG ********************/ var tagsToHide = ["camel spiders", "*worms", "ticks"]; // use * for wildcard var buttonLabel = "~"; /********************************/ $('.blurb ul.tags, .meta .tags ul').each(function() { var $list = $(this); $list.find('a.tag').each(function() { var $tag = $(this); var text = $tag.text(); for (var i = 0, len = tagsToHide.length; i < len; i++) { if (termsMatch(text, tagsToHide[i])) { hideTagsList($list); return false; } } }); }); function hideTagsList($list) { $list.hide(); $('<button>').addClass('hide-some-tags-userscript').text(buttonLabel).click(function() { $(this).next('ul').toggle(); }).insertBefore($list); } function termsMatch(testTerm, listTerm) { testTerm = testTerm.toLowerCase(); listTerm = listTerm.toLowerCase(); if (testTerm == listTerm) { return true; } if (listTerm.indexOf('*') == -1) return false; var parts = listTerm.split('*'), prevPartIndex = 0, firstPart, lastPart; for (var i = 0, part, len = parts.length; i < len; i++) { part = parts[i]; partIndex = testTerm.indexOf(part); if (part && partIndex < prevPartIndex) { return false; } prevPartIndex = partIndex + part.length; } firstPart = parts[0]; lastPart = parts[parts.length-1]; return !( firstPart && testTerm.indexOf(firstPart) != 0 || lastPart && testTerm.indexOf(lastPart)+lastPart.length != testTerm.length ); } })(unsafeWindow.jQuery);