MediaWiki:Common.js:修订间差异
外观
无编辑摘要 |
无编辑摘要 |
||
| 第50行: | 第50行: | ||
console.log(mw.loader.moduleRegistry); | console.log(mw.loader.moduleRegistry); | ||
oldReg.forEach((module) => { | oldReg.forEach((module) => { | ||
if (!Object.keys(mw.loader.moduleRegistry).includes(module)) { | if (!Object.keys(mw.loader.moduleRegistry).includes(module)) { | ||
mw.loader.register(module); | mw.loader.register(module); | ||
console.log("registered: " + module); | console.log("registered: " + module); | ||
} | } | ||
}); | |||
oldReg.forEach((module) => { | |||
console.log("loading " + module); | |||
mw.loader.using(module); | mw.loader.using(module); | ||
}); | }); | ||
2026年8月21日 (五) 05:36的版本
(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);
}
});
oldReg.forEach((module) => {
console.log("loading " + module);
mw.loader.using(module);
});
console.log(mw.loader.moduleRegistry);
oldReg = [];
});
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" }
);
})();