// ==UserScript==
// @name BatchOpenBilibiliComicWeb
// @namespace http://tampermonkey.net/
// @version 0.2
// @description 批量打开bilibili漫画工具。使用键盘x打开隐藏工具,在输入框输入需要打开的网页数量后点击按钮
// @author HalfRain
// @match https://manga.bilibili.com/detail/*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant GM_addStyle
// @require http://code.jquery.com/jquery-1.11.0.min.js
// @license MIT
// @downloadURL https://update.greasyfork.icu/scripts/437485/BatchOpenBilibiliComicWeb.user.js
// @updateURL https://update.greasyfork.icu/scripts/437485/BatchOpenBilibiliComicWeb.meta.js
// ==/UserScript==
//--- Use jQuery to add the form in a "popup" dialog.
$("body").append ( ' \
\
' );
//--- Use jQuery to activate the dialog buttons.
$("#openMultiWeb").click ( function () {
var needOpenCount = $("#needOpenCount").val ();
console.log(needOpenCount);
let list = document.querySelector("body > div.app-layout > div.size-ruler.p-relative.border-box > div.manga-detail > div.section > div.section-list.layout > div.episode-list-component.episode-list > div.episode-list")
if (list == null) {
return;
}
let buttons = $(list).find("button");
let count = 0;
for (var i = 0; i < buttons.length; i++) {
let button = buttons[i];
if (button != null) {
if ($(button).find("div[class='tag lock-icon locked']").length != 0) {
buttons[i].click();
count++;
}
if(count >= needOpenCount){
return;
}
}
}
} );
$("#gmCloseDlgBtn").click ( function () {
$("#gmPopupContainer").hide ();
} );
//--- CSS styles make it work...
GM_addStyle ( " \
#gmPopupContainer { \
position: fixed; \
top: 30%; \
left: 50%; \
padding: 1em; \
background: #66ccff; \
} \
#gmPopupContainer button{ \
cursor: pointer; \
margin: 1em 1em 0; \
border: 1px outset buttonface; \
} \
" );
(function () {
'use strict';
//使用
window.document.addEventListener("keydown", function(event) {
const keyName = event.key;
if (keyName == 'x' || keyName == 'X') {
if($("#gmPopupContainer").is(":hidden")){
$("#gmPopupContainer").show ();
}
else
{
$("#gmPopupContainer").hide ();
}
}
} )
})();