您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add buttons to search on sukebei.nyaa.se.
当前为
// ==UserScript== // @name JAV Library Search // @description Add buttons to search on sukebei.nyaa.se. // @namespace rix.li // @match *://www.javlibrary.com/* // @match *://sukebei.nyaa.se/* // @version 2.2 // @grant GM_addStyle // ==/UserScript== var videoIdList = []; function getSearchUrl(videoId) { return 'https://sukebei.nyaa.se/?page=search&cats=8_30&sort=5&term=' + encodeURIComponent(videoId) + '#' + encodeURIComponent(videoId); } function unique(value, index, self) { return self.indexOf(value) === index; } function insertAfter(newNode, referenceNode) { referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling); } if(window.location.hostname === 'www.javlibrary.com') { GM_addStyle('.icn_search{display: inline-block;width: 24px;height: 24px;background-repeat: no-repeat;margin: 0px 0px;background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABqUlEQVRIS7WWMY8BQRTHnz0SiWSFjkSz8ZV8AkKNXi7R6qlX4TOIUkEUdKIQhc0mKiWCmJv3zOYcb+bcWb/kn/fGy/xn3uwsQEiq1aqIRqMCAEIRetVqNbQWH4fD4bPVasHlcpG1cECv0WgEx+MRIJ1Os7sIQ+htnU4nmb+H8/kMViQSUcPwQW9L5VpKpRJMJhPYbrcwn8+h0WioypPYts2eH2q/39NN4Mhms+ycWyWTSaHtYLfbQTweh+FwCKlUitpFtdttqvu+T/FXuA6KxSLtUpo/1FDNZpPqruuy9UDYAbvAeDwmA9MVDuBqgbRHlM/nKeKD1eF5nsrMsAtsNhuKpiucy+VUZoZdoNfrUex0OhTvKRQKFAeDAUUjumsagA/09nNpripCJBKJH7V7aR8yKpPJKJsr6/VaZd8sFgt2biDjAoG63a6yu9Lv92nnaI4sl0t2HuqpBUxCc2S1WrH1lxdAoTkynU4fatr34C84jgOz2Yy+EFle7cAk6kB2J/P3gN5WLBZTw/CRP/5glctlNQyfSqVCbdBfDNnJwxn+V+hVr9elsxBfG9P38mJXH78AAAAASUVORK5CYII=);}'); document.querySelectorAll('.video').forEach(function(video) { var videoId = video.querySelector('.id').innerText; videoIdList.push(videoId); var toolbar = video.querySelector('.toolbar'); var a = document.createElement('a'); a.classList.add('icn_search'); a.title = 'Search it!'; a.target = '_blank'; a.href = getSearchUrl(videoId); toolbar.appendChild(a); }); document.querySelectorAll('#video_favorite_edit').forEach(function(toolbar) { var videoId = document.querySelector('#video_id .text').innerText; videoIdList.push(videoId); var a = document.createElement('a'); a.classList.add('smalldarkbutton'); a.innerText = 'Search it!'; a.target = '_blank'; a.href = getSearchUrl(videoId); var span = document.createElement('span'); span.classList.add('favoritetype'); span.appendChild(a); toolbar.appendChild(span); }); videoIdList = videoIdList.filter(unique); document.querySelectorAll(".displaymode .left").forEach(function(displayMode) { var a = document.createElement('a'); a.classList.add('smalldarkbutton'); a.innerText = 'Search all!'; a.href = 'javascript:void(0);'; a.addEventListener('click', function(e) { e.preventDefault(); videoIdList.forEach(function(videoId) { window.open(getSearchUrl(videoId)); }); }); var span = document.createElement('span'); span.classList.add('favoritetype'); span.appendChild(a); displayMode.appendChild(span); }); } function getResultSize(result) { var sizeExpr = result.querySelector('.tlistsize').innerText.split(/\s+/); var quantity = parseFloat(sizeExpr[0]); var unit = sizeExpr[1]; switch(unit) { case 'KiB': return quantity * 1024; case 'MiB': return quantity * Math.pow(1024, 2); case 'GiB': return quantity * Math.pow(1024, 3); } return NaN; } function isTrustedResult(result) { return result.classList.contains('trusted'); } if(window.location.hostname === 'sukebei.nyaa.se') { GM_addStyle('.dl-btn {color: #eee; border-radius: 8px; cursor: pointer; float: right; margin-right: 100px;} .dl-found{background-color: #333;} .dl-not-found {background-color: #a50202;}'); var results = []; var videoId = window.location.hash.slice(1); var regex = new RegExp(videoId.replace(/-/g, '\\s*-?\\s*'), 'i'); var notice = document.querySelector('span.notice'); document.querySelectorAll('.tlistrow').forEach(function(row) { if (row.querySelector('.tlistname').innerText.match(regex)) results.push(row); }); if (!results.length) { var a = document.createElement('a'); a.classList.add('notice'); a.classList.add('dl-btn'); a.classList.add('dl-not-found'); a.href = 'javascript:void(0);'; a.innerText = 'Best result not found!'; insertAfter(a, notice); } else { var bestResult = results[0]; var bestResultSize = getResultSize(bestResult); var bestResultTrusted = isTrustedResult(bestResult); if (!bestResultTrusted) { results.find(function(result) { var resultSize = getResultSize(result); var resultTrusted = isTrustedResult(result); if (resultTrusted && (bestResultSize - resultSize) <= 100 * Math.pow(1024, 2)) { bestResult = result; return true; } return false; }); } var downloadUrl = bestResult.querySelector('.tlistdownload a').href; var a = document.createElement('a'); a.classList.add('notice'); a.classList.add('dl-btn'); a.classList.add('dl-found'); a.href = downloadUrl; a.innerText = 'Download best result!'; insertAfter(a, notice); } }