// ==UserScript== // @name Pixiv 增强 // @name:zh Pixiv 增强 // @name:ja Pixiv Plus // @name:en Pixiv Plus // @namespace https://github.com/Ahaochan/Tampermonkey // @version 0.0.9 // @description 屏蔽广告, 查看热门图片, 按收藏数搜索, 搜索pid和uid, 替换大图, 下载gif、多图, 显示画师id、画师背景图, 自动加载评论。github:https://github.com/Ahaochan/Tampermonkey,欢迎star和fork。 // @description:zh 屏蔽广告, 查看热门图片, 按收藏数搜索, 搜索pid和uid, 替换大图, 下载gif、多图, 显示画师id、画师背景图, 自动加载评论。github:https://github.com/Ahaochan/Tampermonkey,欢迎star和fork。 // @description:ja 広告をブロックし、人気のある写真のマスクを隠す. お気に入りの数で検索. 検索pidとuid. 大きな画像を置き換える. ダウンロードgif、複数の写真、アーティストID、アーティストの背景、コメントを自動的に読み込む. Github:https://github.com/Ahaochan/Tampermonkey. Star and fork is welcome. // @description:en Block ads. Hide mask layer of popular pictures. Search by favorites. Search pid and uid. Replace with big picture. Download gif, multiple pictures. Display artist id, background pictures. Automatically load comments. Github:https://github.com/Ahaochan/Tampermonkey. Star and fork is welcome. // @author Ahaochan // @include http*://www.pixiv.net* // @connect i.pximg.net // @supportURL https://github.com/Ahaochan/Tampermonkey // @grant GM_xmlhttpRequest // @grant GM_setClipboard // @require https://code.jquery.com/jquery-2.2.4.min.js // @require https://cdn.bootcss.com/jszip/3.1.4/jszip.min.js // @require https://cdn.bootcss.com/FileSaver.js/1.3.2/FileSaver.min.js // @run-at document-end // @downloadURL none // ==/UserScript== (function ($) { 'use strict'; var lang = document.documentElement.getAttribute('lang'); var pid = pixiv.context.illustId || 'unknown'; var uid = pixiv.context.userId || 'unknown'; // 删除广告、查看热门图片 (function () { // 删除广告 $('._premium-lead-tag-search-bar').hide(); // 查看热门图片 $('.popular-introduction-overlay').hide(); })(); // 按收藏数搜索 (function () { var icon = $('._discovery-icon').attr('src'); var label = lang === 'zh' ? '收藏人数' : 'users入り'; $('.navigation-menu-right').append( '
'); // 如果已经有搜索字符串就在改变选项时直接搜索 $('#ahao_favourite_num_select').on('change', function () { var $text = $('#suggest-input'); if (!!$text.val()) { $('#suggest-container').submit(); } }); // 在提交搜索前处理搜索关键字 $('#suggest-container').submit(function () { var $text = $('#suggest-input'); var $favourite = $('#ahao_favourite_num_select'); // 去除旧的搜索选项 $text.val($text.val().replace(/\d*users入り/, '')); // 去除多余空格 while ($text.val().indexOf(' ') > -1) { $text.val($text.val().replace(' ', ' ')); } // 添加新的搜索选项 $text.val($text.val() + ' ' + $favourite.val()); }); })(); // 搜索UID和PID (function () { $.extend({ search: function (option) { var options = $.extend({ right: '0px', placeholder: '', url: '' }, option); var $form = $(''); $form.submit(function () { var $input = $(this).find('.ahao-input'); var id = $input.val(); if (!/^[0-9]+$/.test(id)) { var label = options.placeholder + (lang === 'zh' ? '不合法' : ' must digit'); alert(label); return; } var url = option.url + id; window.open(url); $input.val(''); }); var $div = $('').css('position', 'absolute') .css('bottom', '44px') .css('height', '30px') .css('right', options.right); $div.append($form); $('#suggest-container').before($div); } }); $.search({ right: '235px', placeholder: 'UID', url: 'https://www.pixiv.net/member.php?id=' }); $.search({ right: '345px', placeholder: 'PID', url: 'https://www.pixiv.net/member_illust.php?mode=medium&illust_id=' }); })(); // 下载图片 (function () { if (!(location.href.indexOf('member_illust.php') !== -1)) { return; } // 获取参数 var src = $('.bookmark_modal_thumbnail').attr('data-src'); if (!src) { console.log('下载图片失败! 找不到$(".bookmark_modal_thumbnail")'); return; } var param = src.match(/img-master\/img([\s\S]*?)_/)[1]; // 单图、多图、gif图三种模式 var moreMode = !!$('a.read-more').length; var gifMode = !!$('div ._ugoku-illust-player-container').length; var singleMode = !moreMode && !gifMode; // 替换单图为大图 (function () { if (!singleMode) { return; } console.log('加载单图模式'); var img = $('.original-image').attr('data-src'); $('div.works_display') .find('img') .attr('src', img) .css('width', '100%'); })(); // 下载动图 (function () { if (!gifMode) { return; } console.log('加载gif图模式'); var url = 'https://i.pximg.net/img-zip-ugoira/img' + param + '_ugoira600x600.zip'; var label = lang === 'zh' ? '下载动图' : 'download gif'; // 添加下载按钮 $('div .bookmark-container').append( '' + ' ' + label + '' + ''); })(); // 下载多图 (function () { if (!moreMode) { return; } console.log('加载多图模式'); var downloaded = 0; // 下载完成数量 var num = parseInt($('a.read-more').text().match(/\d+/)); // 下载目标数量 // 1. 添加下载按钮 var zip = new JSZip(); var label = lang === 'zh' ? '下载中' : 'downloading'; var $a = $('' + ' ' + label + '' + ''); $a.on('click', function () { if (downloaded < num) { return; } zip.generateAsync({type: 'blob', base64: true}) .then(function (content) { saveAs(content, pid + '.zip'); // see FileSaver.js' }); }); $('div .bookmark-container').append($a); // 2. 获取图片地址 var ajaxs = []; var imgUrls = []; for (var i = 0; i < num; i++) { var url = 'https://www.pixiv.net/member_illust.php?mode=manga_big&illust_id=' + pid + '&page=' + i; var ajax = $.ajax({ type: 'GET', url: url }); ajaxs.push(ajax); } // 3. 获取所有图片url后 $.when.apply($, ajaxs).then(function () { for (var i in arguments) { if (arguments.hasOwnProperty(i)) { var html = arguments[i][2].responseText; var pattern = /(