[a / ←]前一页,[d / →]下一页,[w / ↑]新一章,[s / ↓]旧一章,[q]新一页留言,[e]旧一页留言
当前为
// ==UserScript==
// @name dm5.com - navigate with keyboard
// @name:zh-TW dm5 動漫屋 鍵盤導覽
// @name:zh-CN dm5 动漫屋 键盘导览
// @description:en [a / ←]prev page,[d / →]next page,[w / ↑]next chapter,[s / ↓]prev chapter,[q]newer comments,[e]older comments
// @description:zh-TW [a / ←]前一頁,[d / →]下一頁,[w / ↑]新一章,[s / ↓]舊一章,[q]新一頁留言,[e]舊一頁留言
// @description:zh-CN [a / ←]前一页,[d / →]下一页,[w / ↑]新一章,[s / ↓]旧一章,[q]新一页留言,[e]旧一页留言
// @author Evan Tseng
// @version 0.93
// @namespace https://greasyfork.org/zh-TW/users/393133-evan-tseng
// @match *.dm5.com/*
// @grant none
// @description [a / ←]prev page,[d / →]next page,[w / ↑]next chapter,[s / ↓]prev chapter,[q]newer comments,[e]older comments
// ==/UserScript==
(function() {
'use strict';
var fnKey = { shift: false, ctrl:false, alt:false, meta:false },
clearFnKey = function() {
fnKey.shift = fnKey.ctrl = fnKey.alt = fnKey.meta = false;
}
window.onfocus = clearFnKey;
document.addEventListener("keydown", function(e) {
e = e || window.event;
switch(e.which || e.keyCode) {
case 16: // shift
fnKey.shift = true;
break;
case 17: // ctrl
fnKey.ctrl = true;
break;
case 18: // alt
fnKey.alt = true;
break;
case 91: // left Meta
case 93: // right Meta
fnKey.meta = true;
break;
}
});
document.addEventListener("keyup", function(e) {
e = e || window.event;
switch(e.which || e.keyCode) {
case 16: // shift
fnKey.shift = false;
break;
case 17: // ctrl
fnKey.ctrl = false;
break;
case 18: // alt
fnKey.alt = false;
break;
case 91: // left Meta
case 93: // right Meta
fnKey.meta = false;
break;
}
});
document.addEventListener("keydown", async function(e) {
if(document.querySelector("input:focus, textarea:focus") || (fnKey.shift | fnKey.ctrl | fnKey.alt | fnKey.meta)) return;
var PrevC, NextC, PrevP, NextP,
ppa=document.querySelectorAll(".view-paging>.container>a");
for(var i in ppa) {
switch(ppa[i].innerText) {
case "上一章":
PrevC=ppa[i]; break;
case "下一章":
NextC=ppa[i]; break;
case "上一页":
PrevP=ppa[i]; break;
case "下一页":
NextP=ppa[i]; break;
}
}
var actP=document.querySelector(".page-pagination ul li a.active");
if(actP) actP=parseInt(actP.innerText);
e = e || window.event;
switch(e.which || e.keyCode) {
case 38: // up
case 87: // 'w'
if(NextC) NextC.click(); break;
case 40: // down
case 83: // 's'
if(PrevC) PrevC.click(); break;
case 37: // left
case 65: // 'a'
if(PrevP) PrevP.click();
else if(actP>1) YingdmList.self.changepager(actP-1);
break;
case 39: // right
case 68: // 'd'
if(NextP) NextP.click();
else if(actP) YingdmList.self.changepager(actP+1);
break;
case 27: // esc
$('#last-mask').hide();
$('#last-win').hide();
break;
case 69: // 'e'
var NextI=document.querySelector(".view-comment-main .top .page span.current").nextElementSibling;
if(NextI) NextI.click();
break;
case 81: // 'q'
var PrevI=document.querySelector(".view-comment-main .top .page span.current").previousElementSibling;
if(PrevI) PrevI.click();
}
});
})();