On furaffinity.net, hides thumbnails according to desired rating(s).
当前为
// ==UserScript==
// @name FA Rating Filter
// @namespace FurAffinity
// @version 1.0
// @description On furaffinity.net, hides thumbnails according to desired rating(s).
// @author Toboe
// @grant none
// @run-at document-end
// @match *://*.furaffinity.net/*
// @require https://code.jquery.com/jquery-latest.js
// ==/UserScript==
(function() {
'use strict';
console.log("FA Rating Filter");
var $ = jQuery;
var itemIdPrefix = 'figure.r-';
var generalControl = '#generalControl';
var generalKey = 'faFilterGeneral';
var matureControl = '#matureControl';
var matureKey = 'faFilterMature';
var adultControl = '#adultControl';
var adultKey = 'faFilterAdult';
var isGeneralOn = true;
var isMatureOn = true;
var isAdultOn = true;
var toggleViewFromFilter = function(isOn, item) {
item.toggle(isOn);
};
var updateFilteredView = function() {
$(itemIdPrefix + 'general').each(function(){
toggleViewFromFilter(isGeneralOn, $(this));
}
);
$(itemIdPrefix + 'mature').each(function(){
toggleViewFromFilter(isMatureOn, $(this));
}
);
$(itemIdPrefix + 'adult').each(function(){
toggleViewFromFilter(isAdultOn, $(this));
}
);
};
var attachPoint = $("body");
if (attachPoint.length) {
attachPoint.prepend(`
<input type="checkbox" id="generalControl" checked /> <strong>General</strong>
<input type="checkbox" id="matureControl" checked /> <strong>Mature</strong>
<input type="checkbox" id="adultControl" checked /> <strong>Adult</strong>
`);
}
var checkboxChanged = function(control, key) {
var isOn = $(control).prop('checked');
if(key === generalKey) {
isGeneralOn = isOn;
}
else if(key === matureKey) {
isMatureOn = isOn;
}
else if(key === adultKey) {
isAdultOn = isOn;
}
updateFilteredView();
};
$(generalControl).click(function() { checkboxChanged(generalControl, generalKey); });
$(matureControl).click(function() { checkboxChanged(matureControl, matureKey); });
$(adultControl).click(function() { checkboxChanged(adultControl, adultKey); });
updateFilteredView();
}
)();