打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

Widget:CCB-auto:修订间差异

来自OTTOWiki
第1行: 第1行:
<script>
<script>
(function waitForMW() {
(function waitForGadgetAndRun() {
    if (typeof mw !== "undefined" && mw.loader && typeof mw.loader.using === "function") {
// 等待 mw 和 loader 初始化
        mw.loader.using('mediawiki.util').then(function () {
if (typeof mw === 'undefined' || !mw.loader?.using || !mw.loader?.getState) {
            mw.loader.using('ext.gadget.CaoCaoBi').then(() => {
return setTimeout(waitForGadgetAndRun, 50);
                if (typeof swit_so === "function") {
}
                    swit_so_CCB();
 
                } else {
const gadgetName = 'ext.gadget.CaoCaoBi';
                    console.warn("swit_so_CCB 仍未定义");
 
                }
const state = mw.loader.getState(gadgetName);
            });
 
        });
if (state === 'registered') {
    } else {
// 如果还只是 registered,就主动触发加载
        setTimeout(waitForMW, 50); // 每50毫秒检查一次
mw.loader.load(gadgetName);
    }
return setTimeout(waitForGadgetAndRun, 50);
})();
}
</script>
 
if (state === 'loading' || state === 'loaded') {
// 还在加载中,再等一等
return setTimeout(waitForGadgetAndRun, 50);
}
 
if (state === 'ready') {
// 已加载完成,可以执行
if (typeof swit_so_CCB === 'function') {
swit_so_CCB();
} else {
console.warn('swit_so_CCB 仍未定义(函数未注册到 window?)');
}
return;
}
 
// 不可识别状态,继续等
setTimeout(waitForGadgetAndRun, 50);
})();</script>

2025年6月11日 (三) 16:52的版本

<script> (function waitForGadgetAndRun() { // 等待 mw 和 loader 初始化 if (typeof mw === 'undefined' || !mw.loader?.using || !mw.loader?.getState) { return setTimeout(waitForGadgetAndRun, 50); }

const gadgetName = 'ext.gadget.CaoCaoBi';

const state = mw.loader.getState(gadgetName);

if (state === 'registered') { // 如果还只是 registered,就主动触发加载 mw.loader.load(gadgetName); return setTimeout(waitForGadgetAndRun, 50); }

if (state === 'loading' || state === 'loaded') { // 还在加载中,再等一等 return setTimeout(waitForGadgetAndRun, 50); }

if (state === 'ready') { // 已加载完成,可以执行 if (typeof swit_so_CCB === 'function') { swit_so_CCB(); } else { console.warn('swit_so_CCB 仍未定义(函数未注册到 window?)'); } return; }

// 不可识别状态,继续等 setTimeout(waitForGadgetAndRun, 50); })();</script>