Widget:CCB-auto:修订间差异
更多操作
![]() OctoberSama(留言 | 贡献) 小 |
![]() OctoberSama(留言 | 贡献) 小 |
||
第1行: | 第1行: | ||
<script> | <script> | ||
(function | (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); | |||
})(); | } | ||
</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>