跳转到内容

MediaWiki:Common.js:修订间差异

来自洽隐山房
无编辑摘要
页面内容被替换为“(function () { if (!window.SLOADED) { window.SLOADED = {}; window.RELOAD = true; } else { window.RELOAD = false; } 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(…”
标签:替换
 
(未显示同一用户的53个中间版本)
第1行: 第1行:
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */
(function () {
(function(){
    if (!window.SLOADED) {
if(!window.SLOADED){
        window.SLOADED = {};
window.SLOADED = {}
        window.RELOAD = true;
window.RELOAD = true;
    } else {
}else{
        window.RELOAD = false;
window.RELOAD = false;
     }
}
 
let scene;
     function loadScript(url, options = {}, dataset = {}) {
function hook(document){
        return new Promise((resolve, reject) => {
     scene = document.createElement("div");
            if (window.SLOADED[url]) resolve();
document.body.appendChild(scene);
            const script = document.createElement("script");
scene.id = "scene";
            script.src = url;
scene.dataset.turboPermanent="true";
            script.async = "async";
scene.style.zIndex = -100;
            Object.assign(script, options);
scene.style.position = "fixed";
            Object.assign(script.dataset, dataset);
scene.id = "parallax-bg";
            script.onload = () => {
scene.style.inset = "-300px";
                window.SLOADED[url] = true;
var img = document.createElement("img");
                resolve();
scene.appendChild(img);
            };
img.src = "/_nuxt/bg-1.DbZGBWF5.jpg";
            script.onerror = (e) => reject(e);
img.dataset.depth = 0.5;
            document.head.appendChild(script);
}
        });
 
    }
hook(document);
    loadScript("/site/mediawiki-lib.js")
 
})();
// ========== 2. 在 Turbo 渲染新页面之前,删除新页面中的 startup 脚本 ==========
document.addEventListener('turbo:before-render', (event) => {
     window.mw = null;
    hook(event.detail.newBody.ownerDocument);
});
document.addEventListener('turbo:load', (event) => {
    const scripts = document.querySelectorAll('script[src*="load.php"][src*="modules=startup"]');
    scripts.forEach(script => {
        loadScript(script.src);
    });
});
 
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);
    });
}
 
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"
}
);
 
})()

2026年8月25日 (二) 08:25的最新版本

(function () {
    if (!window.SLOADED) {
        window.SLOADED = {};
        window.RELOAD = true;
    } else {
        window.RELOAD = false;
    }
   
    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);
        });
    }
    loadScript("/site/mediawiki-lib.js")
})();