Widget:CCB-button:修订间差异
来自OTTOWiki
更多操作
![]() OctoberSama(留言 | 贡献) 小 |
![]() OctoberSama(留言 | 贡献) 小 |
||
第6行: | 第6行: | ||
</span> | </span> | ||
<script> | <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') { | |||
(function loadCCBModule() { | (function loadCCBModule() { | ||
if (!window.mw?.loader) return setTimeout(loadCCBModule, 50); | if (!window.mw?.loader) return setTimeout(loadCCBModule, 50); | ||
第19行: | 第40行: | ||
} | } | ||
}); | }); | ||
})();</script></includeonly><noinclude>{{doc|content=注意:widget不应该在条目中直接使用!请使用{{tl|CCB-button}}。}}</noinclude> | })(); | ||
} else { | |||
console.warn('swit_so_CCB 仍未定义(函数未注册到 window?)'); | |||
} | |||
return; | |||
</script></includeonly><noinclude>{{doc|content=注意:widget不应该在条目中直接使用!请使用{{tl|CCB-button}}。}}</noinclude> |
2025年6月20日 (五) 20:56的版本
文档
注意:widget不应该在条目中直接使用!请使用{{CCB-button}}。