MediaWiki:Common.js
外观
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
(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) {
oldReg.push([key, registry[key].version, registry[key].dependencies, registry[key].group, registry[key].source, registry[key].skip]);
delete registry[key];
}
});
document.addEventListener("turbo:load", (event) => {
console.log(mw.loader.moduleRegistry);
oldReg.forEach((module) => {
if (Object.keys(mw.loader.moduleRegistry).includes(module[0])) {
delete mw.loader.moduleRegistry[module[0]];
}
mw.loader.register([module]);
});
console.log(window.RLCONF);
mw.config.set(window.RLCONF || {});
console.log(window.RLSTATE);
mw.loader.state(window.RLSTATE || {});
console.log(window.RLPAGEMODULES);
mw.loader.load(window.RLPAGEMODULES || []);
queue = window.RLQ || [];
RLQ = [];
RLQ.push = function (fn) {
if (typeof fn === 'function') {
fn();
} else {
RLQ[RLQ.length] = fn;
}
}
;
while (queue[0]) {
RLQ.push(queue.shift());
}
NORLQ = {
push: function () { }
};
oldReg.length = 0;
});
document.addEventListener("turbo:before-cache", () => {
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" }
);
})();