您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Removes Fanfiction (Dōjinshi) list entries from mangafox.
// ==UserScript== // @name Remove Fanfiction (Dōjinshi) from mangafox // @namespace http://tampermonkey.net/ // @version 0.2 // @description Removes Fanfiction (Dōjinshi) list entries from mangafox. // @author Eruyome // @match http://m.mangafox.me/ // @match http://mangafox.me/ // @match https://m.mangafox.me/ // @match https://mangafox.me/ // @grant none // @require http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js // @run-at document-end // ==/UserScript== (function() { 'use strict'; function addXMLRequestCallback(callback){ var oldSend, i; if( XMLHttpRequest.callbacks ) { // we've already overridden send() so just add the callback XMLHttpRequest.callbacks.push( callback ); } else { // create a callback queue XMLHttpRequest.callbacks = [callback]; // store the native send() oldSend = XMLHttpRequest.prototype.send; // override the native send() XMLHttpRequest.prototype.send = function(){ // process the callback queue // the xhr instance is passed into each callback but seems pretty useless // you can't tell what its destination is or call abort() without an error // so only really good for logging that a request has happened // I could be wrong, I hope so... // EDIT: I suppose you could override the onreadystatechange handler though for( i = 0; i < XMLHttpRequest.callbacks.length; i++ ) { XMLHttpRequest.callbacks[i]( this ); } // call the native send() oldSend.apply(this, arguments); }; } } //remove entries on ajax request addXMLRequestCallback( function( xhr ) { removeEntries(); }); function removeEntries() { var RemoveEntries = $('a[href*="_dj_"]'); if (RemoveEntries.length) { console.log("Removed " + RemoveEntries.length + " fanfiction entries."); $(RemoveEntries).each(function(){ $(this).closest("li").remove(); }); } } removeEntries(); })();