';
function imgInterFn() {
picaImgHide();
if (!dqSlt(".JqMA-inner-pic", "one").length) {
dqSlt("body", "one").prepend($("").attr({
class: "JqMA-inner-pic JqMA-inner-all"
}).append('
可见元素
')
.append('深度搜索
')
.append('文字链接
'));
}
pageNext_0 = dqSlt(".JqMA-mark-pageNext_0", "one");
pageNext_1 = dqSlt(".JqMA-mark-pageNext_1", "one");
pageNext_2 = dqSlt(".JqMA-mark-pageNext_2", "one");
let imgArr_0 = [],
imgArr_1 = [];
dqSlt("*").each(function() {
if (this.classList.contains("pagetual_pageBar")) {
!pageNext_1.prev().hasClass("JqMA-mark-pageNext") && pageNext_1.before($(''));
DSImg && !pageNext_2.prev().hasClass("JqMA-mark-pageNext") && pageNext_2.before($('
'));
return true;
}
let srcArr = [];
if (this.matches("img:not(.JqMA-inner-pic > *)")) {
srcArr.push(this.currentSrc);
} else if (this.matches("video")) {
srcArr.push(this.poster);
}
const backImg = window.getComputedStyle(this).backgroundImage.split('"');
if (backImg.length > 1) {
srcArr.push(backImg[1]);
}
if (srcArr.length && (outerSz === 0 || getPercentW(this) >= 1)) {
let imgList = getImgList(srcArr, this, true, 0);
if (imgList.length) imgArr_0.push(...imgList);
if (DSImg) {
let _imgHtml = "";
let closA = this.closest('a');
if (closA) _imgHtml = $(closA).clone().removeAttr("style").empty().prop("outerHTML");
_imgHtml += $(this).clone().removeAttr("src poster style").empty().prop("outerHTML");
let _isp = _imgHtml.replace(/"|['']/g, '"').match(imgRegex_2);
if (_isp) {
imgList = getImgList([_isp[0]], this, true, 1);
if (imgList.length) imgArr_1.push(...imgList);
}
}
}
});
imgArr_0.length && pageNext_1.before(imgArr_0);
imgArr_1.length && pageNext_2.before(imgArr_1);
if (DSImg) {
let _text = "";
dqSlt("body > *").each(function() {
_text += $(this).clone().find("style,script,noscript").remove().end().text();
});
_text = _text.replace(/"|['']/g, '"').match(imgRegex_1);
if (_text) {
_text = getImgList(_text, false, false, 2);
_text.length && dqSlt(".JqMA-inner-pic", "one").append(_text);
}
}
picImgCount(pageNext_0, pageNext_1, pageNext_2);
dqSlt(".JqMA-inner-pic img:not(.JqMA-mark-preAdd)").addClass("JqMA-mark-preAdd").on("load error", function() {
picImgCount(pageNext_0, pageNext_1, pageNext_2);
var oldNatureH = this.naturalHeight,
oldNatureW = this.naturalWidth;
if (Math.min(oldNatureW, oldNatureH) < minPicHD) {
var thisSrcList = picHD(this.currentSrc),
_this = $(this),
promiseArray = [];
for (let i = 0; i < thisSrcList.length; i++) {
promiseArray.push(checkImgExists(thisSrcList[i]).catch(err => {
console.log(err)
}));
}
Promise.all(promiseArray).then(function(data) {
for (let i = 0; i < data.length; i++) {
let resH = data[i];
if (resH.naturalHeight > oldNatureH || resH.naturalWidth > oldNatureW) {
_this.attr({
src: resH.src,
"JqMA-mark-imgHD": 1
});
return;
}
}
});
}
if (picSizeOut(this)) {
$(this).nextAll("a:lt(2)").add(this).removeClass("JqMA-css-smallPic");
} else {
$(this).addClass("JqMA-css-smallPic");
}
}).on("load", function() {
$(this).addClass("JqMA-mark-imgLoaded").nextAll("a:eq(0)").text(getMinPicwh(this));
});
}
var picImgTime;
function picImgCount(pageNext_0, pageNext_1, pageNext_2) {
clearTimeout(picImgTime);
picImgTime = setTimeout(function() {
let picImgLen = dqSlt(".JqMA-inner-pic img:not(.JqMA-css-smallPic)", "all").length,
keJian_Img = pageNext_1.prevAll("img:not(.JqMA-css-smallPic)"),
search_len = pageNext_2.prevAll("img:not(.JqMA-css-smallPic)").length;
pageNext_0.html(`可见:${keJian_Img.length} 深度:${search_len - keJian_Img.length} 文字:${picImgLen - search_len}`);
}, 400);
}
function picHD(oldSrc) {
var thisSrc = oldSrc,
thisSrcList = [];
if (picReplace.indexOf("`") != -1) {
let numberToRe = /^@/.test(picReplace) ? 1 : 0,
picRepArr = picReplace.replace(/^@/, "").split("`");
for (let i = 0; i < parseInt(picRepArr.length / 2); i++) {
thisSrc = thisSrc.replace(numberToRe ? new RegExp(picRepArr[2 * i].replace(/(?;]+$/, "$1"));
let delHtList = delHttp(oldSrc);
if (delHtList.length) thisSrcList.push(...delHtList);
if (!/.https?[:%]/.test(oldSrc)) {
thisSrcList.push(oldSrc.replace(/^([^?]+?)&.*$/, "$1"));
}
var newSrcList = [];
for (let i = 0; i < thisSrcList.length; i++) {
thisSrc = thisSrcList[i];
if (thisSrc != oldSrc) {
newSrcList.push(thisSrc);
}
}
return newSrcList;
}
function picaImgHide() {
if (Dhide) {
changeStyle("JqMA-inner-picaImg",
".JqMA-inner-pic > a {" +
"height: 0!important; border: 0!important;}" +
".JqMA-inner-pic > img.JqMA-css-smallPic {" +
"height: 0!important; border: 4px solid gray!important;}");
} else {
dqSlt("style#JqMA-inner-picaImg").html("");
}
}
function delHide() {
dqSlt(".JqMA-btn-all", "all").each(function() {
if (this.matches(".JqMA-btn-del")) {
this.style.cssText += "opacity:" + (Dhide ? "0.5" : "1") + "!important;";
} else {
this.style.cssText += "display:" + (Dhide ? "none" : "block") + "!important;";
}
});
}
function btnDelClick() {
Dhide = Dhide ? 0 : 1;
delHide();
picaImgHide();
setValLoc("Dhide", Dhide);
}
document.querySelector('html').addEventListener('click', function(event) {
if (event.target.classList.contains('JqMA-btn-del')) {
btnDelClick();
}
});
onSlideScreen(document.querySelector('html'), function(event) {
if (event.target.classList.contains('JqMA-btn-del')) {
let [offsetX, offsetY, thisHeight] = getTouchSite(event.target, event);
if (offsetX > thisHeight || offsetY > thisHeight || offsetY < -thisHeight) {
let loadNow = document.querySelector("#pagetual-sideController #loadNow");
if (loadNow) {
loadNow.dispatchEvent(new MouseEvent('click'));
} else {
alert("请启用 东方永夜机 立即翻页");
}
} else {
btnDelClick();
}
}
});
let nextScrollTop = getValLoc("nextScrollTop", 0);
onLongPress(document.querySelector('html'), function(event) {
if (event.target.classList.contains('JqMA-btn-del')) {
let newHref;
if (/[^a-z]page[=/]\d+(?=$|&)/.test(location.href)) {
let hrefSplit = location.href.split(/(?<=[^a-z]page)([=/])(?=\d)/);
openHref(getNextPage(hrefSplit));
return;
} else if (/[/_\-]\d+(\.html)?$/.test(location.href)) {
let hrefSplit = location.href.split(/([/_\-])(?=\d+(?:\.html)?$)/);
newHref = getNextPage(hrefSplit);
}
let pageEnter;
$(dqSlt("a").get().reverse()).each(function() {
if (/^\s*2\s*$/.test($(this).text()) &&
/[^a-z]page[=/]\d+(?=$|&)/.test(this.href)) {
pageEnter = 1;
openHref(this.href);
return false;
} else if (/^\s*(>|次のページ|下.?[章页]|下[一—].)\s*$|^\s*next\s*(page\s*)?$/i.test($(this).text())) {
pageEnter = 1;
let _a = $(this);
_a.children(":not(a)").length || _a.append('
');
_a.children(":not(a):first").trigger("click");
return false;
} else if (newHref && this.href === newHref) {
pageEnter = 1;
openHref(newHref);
return false;
}
});
if (!pageEnter && /[^a-z\d]\d+$/.test(location.href)) {
let hrefSplit = location.href.split(/([^a-z\d])(?=\d+$)/);
openHref(getNextPage(hrefSplit));
}
}
});
function getNextPage(hrefSplit) {
let pNumber = Number(hrefSplit[2].split(/[^\d]/)[0]) + 1;
let newHref = hrefSplit[0] + hrefSplit[1] + pNumber + hrefSplit[2].replace(/^\d+/, "");
return newHref;
}
function openHref(newHref) {
if (openBlank) {
window.open(newHref);
} else {
location.href = newHref;
}
}
function aOpenBlank() {
dqSlt("a:not([JqMA-mark-blank])").attr("JqMA-mark-blank", 1).filter(function() {
return !/^(?!https?:)[a-z]{4,15}:|^#/.test(this.href);
}).attr("target", "_blank");
}
function btnBlankClick() {
openBlank = openBlank ? 0 : 1;
dqSlt(".JqMA-btn-blank", "all").each(function() {
this.style.setProperty("color", openBlank ? "green" : null, "important");
});
if (openBlank) {
aOpenBlank();
} else {
dqSlt("[JqMA-mark-blank]").removeAttr("JqMA-mark-blank").attr("target", null);
}
setValLoc("openBlank", openBlank);
}
let openBlank = getValLoc("openBlank", 0),
preIframes = new Set();
document.querySelector('html').addEventListener('click', function(event) {
if (event.target.classList.contains('JqMA-btn-blank')) {
btnBlankClick();
}
});
onSlideScreen(document.querySelector('html'), function(event) {
if (event.target.classList.contains('JqMA-btn-blank')) {
let [offsetX, offsetY, thisHeight] = getTouchSite(event.target, event);
if (offsetY > thisHeight || offsetY < -thisHeight || offsetX > thisHeight) {
let firstTarget;
waitClick("not", function(event) {
if (!firstTarget) {
firstTarget = event.target;
return;
}
dqSlt("body").off("click.tempClickFunc");
dqSlt(".JqMA-btn-all", "all").each(function() {
this.style.setProperty("display", "block", "important");
});
let isInput = $(firstTarget).closest("a").length ? 0 : 1,
first_aCss;
if (firstTarget === event.target) copyToClipboard(getSelector(event.target));
firstTarget = $(firstTarget).closest(isInput ? "input" : "a");
let lastTarget = $(event.target).closest(isInput ? "input" : "a");
if (firstTarget.length && lastTarget.length) {
dqSlt(isInput ? "input" : "a").each(function() {
if (this === firstTarget[0]) first_aCss = 1;
if (first_aCss && this.href && !preIframes.has(this.href)) {
preIframes.add(this.href);
dqSlt("body", "one").append($("