您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add filter options to Doublelist listing pages
// ==UserScript== // @name Doublelist Filter Options // @description Add filter options to Doublelist listing pages // @version 3 // @grant GM.getValue // @grant GM.setValue // @include http://doublelist.com/city/*/* // @include https://doublelist.com/city/*/* // @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js // @run-at document-idle // @namespace https://greasyfork.org/users/257342 // ==/UserScript== (async () => { mainContainer = $('.container')[0] filterHTML = '<div class="container" id="filteroptions"><h2>Filters:</h2><br/><div><input name="pics" type="checkbox" id="pics" /> <label for="pics">Require Picture</label></div>' + '<div><input name="minage" type="number" value="18" id="minage" /> <label for="minage">Min Age</label></div>' + '<div><input name="maxage" type="number" value="99" id="maxage" /> <label for="minage">Max Age</label></div>' + '<div><input name="blocklist" type="text" value="" id="blocklist" /> <label for="blocklist">Blocked terms (in title)</label></div>' + '<div><input name="blocklist2" type="text" value="" id="blocklist2" /> <label for="blocklist2">Blocked terms (in location)</label></div>' + '</div>' mainContainer.innerHTML = filterHTML + mainContainer.innerHTML var updatematches = function(){ $('.list').hide() if($('#filteroptions #pics').is(":checked")){ $('.list:has(.orn)').show() }else{ $('.list').show() } posts = $('.list') minage = Math.max(18, $('#filteroptions #minage').val()) maxage = Math.max(minage, $('#filteroptions #maxage').val()) blocklist = $('#blocklist').val().split(/[\s,;]+/) blocklist2 = $('#blocklist2').val().split(/[\s,;]+/) posts.each(function(index){ if($(this).children('a').children('span').length > 2) age = $(this).children('a').children('span')[2].innerText else age = -1 if(age < minage || age > maxage) $(this).hide() if(blocklist.some(block => block.length > 0 && $(this).children('a').children('span')[0].innerText.toLowerCase().includes(block.toLowerCase()))) $(this).hide() if(blocklist2.some(block => block.length > 0 && $(this).children('a').children('span')[1].innerText.toLowerCase().includes(block.toLowerCase()))) $(this).hide() }) GM.setValue("minage", minage) GM.setValue("maxage", maxage) GM.setValue("pics", $('#filteroptions #pics').is(":checked")) GM.setValue("blocklist", $('#blocklist').val()) GM.setValue("blocklist2", $('#blocklist2').val()) } $('#filteroptions #pics').prop('checked', await GM.getValue("pics", false)) $('#filteroptions #minage').val(await GM.getValue("minage", 18)) $('#filteroptions #maxage').val(await GM.getValue("maxage", 99)) $('#filteroptions #blocklist').val(await GM.getValue("blocklist", "")) $('#filteroptions #blocklist2').val(await GM.getValue("blocklist2", "")) $('#filteroptions #pics').change(updatematches) $('#filteroptions #minage').change(updatematches) $('#filteroptions #maxage').change(updatematches) $('#filteroptions #blocklist').change(updatematches) $('#filteroptions #blocklist2').change(updatematches) updatematches() })();