Widget:CCB-auto:修订间差异
来自OTTOWiki
更多操作
![]() OctoberSama(留言 | 贡献) (创建页面,内容为“<script> (function() { 'use strict'; document.addEventListener('DOMContentLoaded', () => { swit_so() }); })(); </script>”) |
![]() OctoberSama(留言 | 贡献) 小 |
||
(未显示同一用户的29个中间版本) | |||
第1行: | 第1行: | ||
<script> | <includeonly><script> | ||
(function() { | (function waitForGadgetAndRun() { | ||
' | // 等待 mw 和 loader 初始化 | ||
if (typeof mw === 'undefined' || !mw.loader?.using || !mw.loader?.getState) { | |||
return setTimeout(waitForGadgetAndRun, 50); | |||
}); | } | ||
})(); | |||
</script> | 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; | |||
// | |||
// 不可识别状态,继续等 | |||
setTime、、ut(waitForGadgetAndRun, 50); | |||
})();</script></includeonly><noinclude>注意:widget不应该在条目中直接使用!请使用{{tl|CCB-auto}}。</noinclude> |
2025年6月11日 (三) 20:44的最新版本
注意:widget不应该在条目中直接使用!请使用{{CCB-auto}}。