vol.moe 的批量选取油猴脚本

最近学习了点javascript。这东西挺好玩的。

正好日常网站vol.moe的一些功能很不顺手。就改写下。

  • 没全选推送。(当你要试着推送一整套海贼王的时候,你真的挺恨网站作者的)
  • 每次都是同一标签打开漫画详情。(一不小心关了,之前的翻页就算废了)

于是,做了个油猴脚本。

安装地址见此:Greasyfork

源代码:Github

Bug反馈:Github Issue

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// ==UserScript==
// @name vol.moe 增强工具
// @namespace monkeypatch.moe.vol
// @version 0.1
// @description * 新窗口打开漫画页详情。 * 漫画页中,添加全选按钮,批量选择推送的漫画。
// @author Shazoo
// @match http*://vol.moe/comic/*.htm
// @match http*://vol.moe/
// @match http*://vol.moe/list/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Your code here...
var cur_url = window.location.href;
if (/^https?:\/\/vol\.moe\/comic\/\d+\.htm/.test(cur_url)){
// 给漫画详情页添加全选功能
var loc_btn = document.getElementById('push_button');
var ctrl_btn = document.createElement('template');
ctrl_btn.innerHTML='<a href="javascript:void(0);" id="ctrl_btn" style="margin-right: 10px;" class="weui_btn weui_btn_mini weui_btn_default">全选</a>';
ctrl_btn = ctrl_btn.content.firstChild;
loc_btn.parentNode.insertBefore(ctrl_btn, loc_btn);
var is_selected = false;
ctrl_btn.addEventListener('click',function(){
is_selected = ~is_selected;
var cb = document.getElementsByName('checkbox_push');
for (var idx=0; idx < cb.length; idx++) {
cb[idx].checked = is_selected;
}
sum_push_item();
}, false);
}else {
// 在列表页面添加新窗口打开功能
var alist = document.getElementsByTagName('a');
for (var idx = 0; idx < alist.length; idx++) {
if (/comic\/\d+\.htm/.test(alist[idx].href)){
alist[idx].target = '_blank';
}
}
}
})();