// ==UserScript==
// @name MoegirlPediaDamagedScriptReloader
// @version 1.1.2
// @description 萌娘百科损坏 Script 重新加载器
// @author AnnAngela
// @namespace https://zh.moegirl.org.cn/User:AnnAngela
// @mainpage https://gf.qytechs.cn/scripts/447656-moegirlpediadamagedscriptreloader
// @supportURL https://gf.qytechs.cn/scripts/447656-moegirlpediadamagedscriptreloader/feedback
// @license GNU General Public License v3.0 or later
// @compatible chrome 100
// @compatible edge 100
// @match *://*.moegirl.org.cn/*
// @run-at document-start
// @grant GM_info
// @icon data:image/png;base64,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
// @icon64 data:image/png;base64,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
// ==/UserScript==
"use strict";
const sleep = (ms) => new Promise((res) => setTimeout(res, ms));
const inpageNotificationRoot = document.createElement("div");
class InPageNotification {
static setStyle(ele, styleJson) {
for (const [k, v] of Object.entries(styleJson)) {
ele.style[k] = v;
}
}
constructor() {
this.doms = {
container: document.createElement("div"),
logo: document.createElement("img"),
content: document.createElement("div"),
};
InPageNotification.setStyle(this.doms.container, {
padding: "0.75em 1.5em 0.75em 0",
marginBottom: "0.5em",
border: "1px solid #a2a9b1",
cursor: "pointer",
opacity: "0",
transition: "opacity 0.35s ease-in-out",
backgroundColor: "white",
borderRadius: "2px",
boxShadow: "0 2px 2px 0 rgba(0,0,0,0.25)",
pointerEvents: "none",
display: "flex",
});
InPageNotification.setStyle(this.doms.logo, {
flex: "0",
height: "64px",
margin: "0 0.75em",
});
InPageNotification.setStyle(this.doms.content, {
flex: "1",
minHeight: "64px",
});
this.doms.logo.src = GM_info.script.icon64;
inpageNotificationRoot.append(this.doms.container);
this.doms.container.append(this.doms.logo);
this.doms.container.append(this.doms.content);
}
setContent(html) {
this.doms.content.innerHTML = html;
}
show() {
InPageNotification.setStyle(this.doms.container, {
opacity: "1",
pointerEvents: "all",
});
}
hide() {
InPageNotification.setStyle(this.doms.container, {
opacity: "0",
pointerEvents: "none",
});
}
hideAndDestroy() {
this.hide();
setTimeout(() => {
this.doms.container.remove();
}, 350);
}
}
InPageNotification.setStyle(inpageNotificationRoot, {
position: "fixed",
top: "7em",
right: "1em",
width: "20em",
lineHeight: "1.35",
zIndex: "100000",
overflow: "hidden",
});
(async () => {
console.info("MoegirlPediaDamagedScriptReloader", "start");
while (typeof unsafeWindow?.jQuery?.fn?.on !== "function") {
await sleep(16);
}
console.info("MoegirlPediaDamagedScriptReloader", "loaded");
document.body.append(inpageNotificationRoot);
let c = 0;
$(document).on("ajaxError", async (_, xhr, config) => {
// console.error("ajaxError", xhr, config);
if (config.dataType === "script" && config.url?.includes("load.php?") && xhr.status === 404
&& !config.url?.endsWith?.("&AnnTools_retrying=1")) {
const inpageNotification = new InPageNotification();
const url = `${config.url}&AnnTools_retrying=1`;
let i = 0;
c++;
while (i++ > Number.MIN_SAFE_INTEGER) {
inpageNotification.setContent(`<b>萌娘百科损坏 Script 重新加载器</b><div>发现第 ${c} 个损坏的 Script,正在尝试第 ${i} 次重新加载……</div>`);
inpageNotification.show();
console.info("MoegirlPediaDamagedScriptReloader", "Retrying at #", i, "for loading script #", c, url);
try {
await $.ajax({
url,
dataType: "script",
crossDomain: true,
cache: true,
});
console.info("MoegirlPediaDamagedScriptReloader", "Successfully retried at #", i, "for loading script #", c, url);
inpageNotification.setContent(`<b>萌娘百科损坏 Script 重新加载器</b><div>第 ${c} 个损坏的 Script,在第 ${i} 次重新加载后成功载入!</div>`);
setTimeout(() => {
inpageNotification.hideAndDestroy();
}, 5000);
break;
} catch (e) {
console.error(e);
}
}
}
});
})();