Override Fanfiction.net's default choices for result filters
当前为
// ==UserScript==
// @name Fanfiction.net - Customize Default Result Filter
// @namespace ssokolow.com
// @description Override Fanfiction.net's default choices for result filters
// @version 4
// @license MIT
//
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_registerMenuCommand
//
// @noframes
// @match *://www.fanfiction.net/*
// ==/UserScript==
// TODO: Try to find a way to safely URL-match so I can minimize the number
// of cases where I need to redirect and use @run-at document-start
// for the rest.
var has_filters = (document.getElementById('filters') !== null);
// Skip everything if this isn't a relevant page since we can't URL match them.
if (has_filters) {
// Let short-circuit eval. only call GM_getValue once on empty query string
var preferred_filter;
if (window.location.search === "" &&
(preferred_filter = GM_getValue('preferred_filter'))) {
// Make it more clear when the page hasn't yet reloaded
document.querySelector('body').style = 'opacity: 0.2';
history.replaceState({}, '', preferred_filter);
location.reload();
} else {
// Work around bad interaction between Firefox and replaceState+reload
var filter_form = document.querySelector('#filters #myform')
if (filter_form) { filter_form.reset(); }
GM_registerMenuCommand("Save Current Filters as Default", function() {
GM_setValue('preferred_filter', window.location.search);
}, 'S');
}
}