您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
MangaToshokan helper for MangaUpdates - show allowed releases on groups and authors pages and releases list
// ==UserScript== // @name MangaToshokan helper for MangaUpdates - show allowed releases // @namespace mangatoshokan_helpers // @description MangaToshokan helper for MangaUpdates - show allowed releases on groups and authors pages and releases list // @include http://www.mangaupdates.com/releases.html* // @exclude http://www.mangaupdates.com/releases.html*stype=series* // @include http://www.mangaupdates.com/groups.html?id=* // @include http://www.mangaupdates.com/authors.html?id=* // @include http://www.mangaupdates.com/publishers.html?id=* // @require https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js // @version 1.3.1 // ==/UserScript== try{ show_MT = 1; show_DT = 1; var pathname = window.location.pathname; if (pathname == '/releases.html' || pathname == '/authors.html') { $('#main_content tr[valign="middle"]:eq(0) td.specialtext').parent().after( "<p class=\"operations\">"+ "<a id=\"show_stats\">Check Releases</a>"+ "</p>"); } if (pathname == '/publishers.html') { $('#main_content > table > tbody > tr[valign="top"]:eq(0)').before( "<p class=\"operations\">"+ "<a id=\"show_stats\">Check Releases</a>"+ "</p>"); } if (pathname == '/groups.html' || pathname == '/publishers.html') { $('#main_content > table > tbody > tr[valign="top"]:eq(0)').after( "<p class=\"operations\">"+ "<a id=\"show_stats\">Check Releases</a>"+ "</p>"); } if (pathname == '/groups.html' || pathname == '/authors.html') { $('#main_content > table > tbody > tr[valign="top"]:eq(1)').after( "<p class=\"operations\">"+ "<a id=\"show_stats\">Check Releases</a>"+ "</p>"); } $("a#show_stats").click(function() { var href = new Array(); $('a[href*="series.html?id="]').each(function(i){ href[i]=$(this).addClass("series_link").attr("href"); }); // console.log(href); for(var q = 0; q < href.length; q++) {; var chObj; chObj = $('.series_link:eq('+ q +')'); // console.log(chObj); chObj.toggleClass('status', true); get_vc(chObj, href[q]); } return false; }); // FUNCTIONS // get manga statistic (AJAX) function get_vc(chObj, URL) { GM_xmlhttpRequest({ method: 'GET', url: URL, onload: function(response) { var v = new Array(); var c = new Array(); page = response.responseText; page = page.replace(/\n/gm, ""); v = /v.<i>([^<]+)/im.exec(page); c = /c.<i>([^<]+)/im.exec(page); by = /Search for all releases of this series/im.exec(page); pub = /publishers.html\?id=(8|9|113|25|290|56|61|423|62|63|66|75|80|82|86|94|97|100|168|249|112|119|121|116|140|144|147|149|151|163|55|173|251|175|234|351|235|279|573|167|563|564)?'.title='Publisher Info/im.exec(page); // group = /groups.html\?id=(81)?'.title='Group Info/im.exec(page); group = null; genre = /genre=(Doujinshi|Hentai|Yaoi)./im.exec(page); genre_type = />(Doujinshi)\s*<\/div>/i.exec(page); var genre_text = ''; var genre_text_long; exclude_type = />(Novel|Drama CD)\s*<\/div>/i.exec(page); // console.log(URL, by); if(genre == null && genre_type == null){ genre_text = 'MT'; genre_text_long = 'MangaToshokan'; }else{ genre_text = 'DT'; genre_text_long = 'DoujinToshokan'; }; // lots to read!! if((pub == null && exclude_type == null && URL != null)){ $(chObj).toggleClass('good', true); if((v == null) && (c == null) && (by == null)) { $(chObj).parent().css({'background-color': 'DarkOrange'}); // chObj.innerHTML = (pub == null) ? "No releases, " + genre_text : ""; // chObj.text(genre_text); chObj.attr('title', 'No releases. Allowed on '+ genre_text_long); } else if (group != null){ $(chObj).parent().css({'background-color': '#FFFF66'}); // chObj.innerHTML = (pub == null) ? "Check mirror policy, " + genre_text : ""; // chObj.text(genre_text); chObj.attr('title', 'Check mirror policy. Allowed on '+ genre_text_long); } else{ if (genre_text == 'MT') $(chObj).parent().css({'background-color': 'LightGreen'}); else $(chObj).parent().css({'background-color': 'LightPink'}); // chObj.innerHTML = (pub == null) ? "Allowed, " + genre_text : ""; // chObj.text(genre_text); chObj.attr('title', 'Allowed on '+ genre_text_long); } if (show_MT == 1 && genre_text == 'MT') $(chObj).parent().parent().show(); else if (show_DT == 1 && genre_text == 'DT') $(chObj).parent().parent().show(); else $(chObj).parent().parent().remove(); } else{ $(chObj).toggleClass('good', false); $(chObj).parent().parent().remove(); } // console.log(chObj.innerHTML); $(chObj).fadeIn('fast'); }}); } // global function to set CSS function addGlobalStyle(css) { var head, style; head = document.getElementsByTagName('head')[0]; if (!head) { return; } style = document.createElement('style'); style.type = 'text/css'; style.innerHTML = css; head.appendChild(style); } // CSS addGlobalStyle("" +".r1 { opacity: 0.5; }" +".centered { text-align: center;}" +".status { display:none; color:blue;}" +".good { color:blue; font-weight: bolder;}" +"p.operations { text-align: center; margin-top:10px; font-size:16px; cursor:pointer; color:#52667C;}" +"p.operations a { font-weight: bolder; font-size:16px;}" +"#main_content > table > tbody > tr > td p+p+p > table a:visited { color: #999; }" ); }catch(e){ console.log("error "+e.description); }