跳转到内容

MediaWiki:Common.js

来自洽隐山房
Apkqiu​(留言 | 贡献)2026年8月20日 (四) 17:30的版本

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。

  • 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);
        });
    }

    document.addEventListener("turbo:visit", function(e){
        var reg = mw.loader.moduleRegistry;
        Object.keys(reg).forEach(function(k){
            reg[k].script = undefined;
        });
    });
    document.addEventListener("turbo:load", function(e){
        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" }
    );
})();