MediaWiki:Common.js:修订间差异
外观
无编辑摘要 |
无编辑摘要 |
||
| 第47行: | 第47行: | ||
} | } | ||
}); | }); | ||
document.addEventListener("turbo: | document.addEventListener("turbo:load", (event) => { | ||
console.log(mw.loader.moduleRegistry); | console.log(mw.loader.moduleRegistry); | ||
oldReg.forEach((module) => { | oldReg.forEach((module) => { | ||
| 第55行: | 第55行: | ||
} | } | ||
}); | }); | ||
oldReg = | mw.config.set(window.RLCONF || {}); | ||
mw.loader.state(window.RLSTATE || {}); | |||
mw.loader.load(window.RLPAGEMODULES || []); | |||
oldReg.length = 0; | |||
}); | }); | ||
2026年8月21日 (五) 05:41的版本
(function () {
if (!window.SLOADED) {
window.SLOADED = {};
window.RELOAD = true;
} else {
window.RELOAD = false;
}
let scene;
function inject_parallax(document) {
scene = document.createElement("div");
document.body.appendChild(scene);
scene.id = "scene";
scene.dataset.turboPermanent = "true";
scene.style.zIndex = -100;
scene.style.position = "fixed";
scene.id = "parallax-bg";
scene.style.inset = "-300px";
var img = document.createElement("img");
scene.appendChild(img);
img.src = "/_nuxt/bg-1.DbZGBWF5.jpg";
img.dataset.depth = 0.5;
}
function loadScript(url, options = {}, dataset = {}) {
return new Promise((resolve, reject) => {
if (window.SLOADED[url]) resolve();
const script = document.createElement("script");
script.src = url;
script.async = "async";
Object.assign(script, options);
Object.assign(script.dataset, dataset);
script.onload = () => {
window.SLOADED[url] = true;
resolve();
};
script.onerror = (e) => reject(e);
document.head.appendChild(script);
});
}
let oldReg = [];
document.addEventListener("turbo:before-visit", (event) => {
var registry = mw.loader.moduleRegistry;
for (var key in registry) {
console.log("unloading " + key);
delete registry[key];
oldReg.push(key);
}
});
document.addEventListener("turbo:load", (event) => {
console.log(mw.loader.moduleRegistry);
oldReg.forEach((module) => {
if (!Object.keys(mw.loader.moduleRegistry).includes(module)) {
mw.loader.register(module);
console.log("registered: " + module);
}
});
mw.config.set(window.RLCONF || {});
mw.loader.state(window.RLSTATE || {});
mw.loader.load(window.RLPAGEMODULES || []);
oldReg.length = 0;
});
inject_parallax(document);
loadScript(
"https://cdnjs.cloudflare.com/ajax/libs/parallax/3.1.0/parallax.min.js"
).then(function () {
new Parallax(scene);
});
loadScript(
"https://cdn.jsdelivr.net/npm/@hotwired/turbo@latest/dist/turbo.es2017-esm.min.js",
{ type: "module" }
);
})();