您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
permanently hide selected works
- // ==UserScript==
- // @name ffn work block
- // @namespace https://greasyfork.org/en/users/36620
- // @version 0.1
- // @description permanently hide selected works
- // @author scriptfairy
- // @include http://www.fanfiction.net/*
- // @include https://www.fanfiction.net/*
- // @require http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js
- // @grant GM_setValue
- // @grant GM_getValue
- // @grant GM_listValues
- // @grant GM_deleteValue
- // ==/UserScript==
- (function($) {
- function blockThis(work) {
- var id = $(work).find('.stitle').attr('href');
- GM_setValue(id, id);
- GM_setValue('last', id);
- }
- function blockAll(works) {
- var blocked = GM_listValues();
- for (j=0;j<works.length;j++) {
- var workId = $(works[j]).find('.stitle').attr('href');
- if ($.inArray(workId, blocked) != -1) {
- $(works[j]).hide();
- }
- }
- }
- $(document).ready(function() {
- var works = $('div.z-list');
- blockAll(works);
- $('<style>').text('.workblock a {cursor:pointer;} a.workblock {margin-left: 20px;}').appendTo($('head'));
- // unblock works
- $('#zmenu .xmenu_item:last-child').after('<div class="dropdown xmenu_item workblock"><a class="dropdown-toggle" data-toggle="dropdown">Work Block <b class="caret"></b></a><ul class="dropdown-menu"><li class="clear-last"><a>Unblock last</a></li><li class="clear-all"><a>Unblock all</a></li></ul></div>');
- $('.workblock .clear-all').click(function() {
- var keys = GM_listValues();
- for (k=0;k<keys.length; k++) {
- GM_deleteValue(keys[k]);
- }
- location.reload();
- });
- $('.workblock .clear-last').click(function() {
- var unblockId = GM_getValue('last');
- GM_deleteValue('last');
- GM_deleteValue(unblockId);
- location.reload();
- });
- // block works
- for (i=0;i<works.length;i++) {
- $(works[i]).find('.z-padtop').before('<a href="javascript:void(0)" class="workblock block">Block</a>');
- }
- $('.workblock.block').click(function() {
- var work = $(this).parents('div.z-list');
- blockThis(work);
- $(work).hide();
- });
- });
- })(window.jQuery);