[a / ←]前一页,[d / →]下一页,[w / ↑]新一章,[s / ↓]旧一章,[q]新一页留言,[e]旧一页留言
当前为
// ==UserScript==
// @name dm5.com & dmzj.com - navigate with keyboard
// @name:zh-TW dm5動漫屋 & dmzj動漫之家 鍵盤導覽
// @name:zh-CN dm5动漫屋 & dmzj动漫之家 键盘导览
// @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.97
// @namespace https://greasyfork.org/zh-TW/users/393133-evan-tseng
// @match *.dm5.com/*
// @match *.dmzj.com/*
// @match *.dmzj1.com/*
// @run-at document-start
// @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 host = window.location.hostname;
if(host.indexOf("dm5.com") > -1) host="dm5";
else if(host.indexOf("dmzj.com") > -1 || host.indexOf("dmzj1.com") > -1 ) host="dmzj";
switch(host) {
case "dm5":
window.addEventListener('DOMContentLoaded', (event) => {
let adutBtn = document.querySelector("#checkAdult");
if(adutBtn) adutBtn.click();
});
document.addEventListener("keydown", async function(e) {
if(document.querySelector("input:focus, textarea:focus") || (e.shiftKey | e.ctrlKey | e.altKey | e.metaKey | e.isComposing)) return;
var PrevC, NextC, PrevP, NextP,
ppa = document.querySelectorAll(".view-paging>.container>a");
PrevC = NextC = PrevP = NextP = null;
for(let 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.key) {
case 'arrowup':
case 'w':
if(NextC) NextC.click(); break;
case 'arrowdown':
case 's':
if(PrevC) PrevC.click(); break;
case 'arrowleft':
case 'a':
$('#last-mask').hide();$('#last-win').hide();
if(PrevP) ShowPre().click();
else if(actP>1) YingdmList.self.changepager(actP-1);
break;
case 'arrowright':
case 'd':
$('#last-mask').hide();$('#last-win').hide();
if(NextP) NextP.click();
else if(actP) YingdmList.self.changepager(actP+1);
break;
case 'Escape':
$('#last-mask').hide();$('#last-win').hide();
break;
case 'e':
$('#last-mask').hide();$('#last-win').hide();
var NextE=document.querySelector(".view-comment-main .top .page span.current").nextElementSibling;
if(NextE) NextE.click();
break;
case 'q':
$('#last-mask').hide();$('#last-win').hide();
var PrevE=document.querySelector(".view-comment-main .top .page span.current").previousElementSibling;
if(PrevE) PrevE.click();
}
});
break;
case "dmzj":
document.addEventListener("keydown", function(e) {
if(document.querySelector("input:focus, textarea:focus") || (e.shiftKey | e.ctrlKey | e.altKey | e.metaKey | e.isComposing)) return;
var elm=null;
e = e || window.event;
try {
switch(e.key) {
case 'arrowup':
case 'w':
elm=document.querySelector("#next_chapter, a.btm_chapter_btn.fr"); break;
case 'arrowdown':
case 's':
elm=document.querySelector("#prev_chapter, a.btm_chapter_btn.fl"); break;
case 'arrowleft':
elm=document.querySelector(".pages a.pselected, .page a.cu");
if(elm) do elm=elm.previousElementSibling; while(elm.nodeName == "#text");
break;
case 'arrowright':
elm=document.querySelector(".pages a.pselected, .page a.cu");
if(elm) do elm=elm.nextElementSibling; while(elm.nodeName == "#text");
break;
case 'a':
if(elm=document.querySelector("#center_box>a.img_land_prev, .comic_wraCon>a.img_land_prev")) break;
else {
elm=document.querySelector(".pages a.pselected, .page a.cu");
if(elm) do elm=elm.previousElementSibling; while(elm.nodeName == "#text");
}
break;
case 'd':
if(elm=document.querySelector("#center_box>a.img_land_next, .comic_wraCon>a.img_land_next")) break;
else {
elm=document.querySelector(".pages a.pselected, .page a.cu");
if(elm) do elm=elm.nextElementSibling; while(elm.nodeName == "#text");
}
break;
case 'escape':
elm=document.querySelector("#close_btn");
}
if(elm) elm.click();
} catch(err) { console.log(err); }
});
break;
}
})();