ResourceLoader:修订间差异
来自卡厄思梦境WIKI
创建页面,内容为“<script> (function() { var scriptName = "<!--{$script|escape:'html'}-->"; if (!scriptName) { console.error('ResourceLoader Widget: 未指定脚本名称'); return; } // 清理和标准化脚本名称 scriptName = scriptName.trim(); // 添加 MediaWiki 前缀(如果没有) if (!/^MediaWiki:/i.test(scriptName)) { scriptName = 'MediaWiki:' + scriptName; } // 添加 .js 扩展名(…” |
小无编辑摘要 |
||
| 第8行: | 第8行: | ||
} | } | ||
// 清理和标准化脚本名称 | // 等待 MediaWiki 环境准备就绪 | ||
function loadScript() { | |||
// 清理和标准化脚本名称 | |||
scriptName = scriptName.trim(); | |||
// 添加 MediaWiki 前缀(如果没有) | |||
if (!/^MediaWiki:/i.test(scriptName)) { | |||
scriptName = 'MediaWiki:' + scriptName; | |||
} | |||
// 添加 .js 扩展名(如果没有) | |||
if (!/\.js$/i.test(scriptName)) { | |||
scriptName = scriptName + '.js'; | |||
} | |||
// 构建脚本 URL | |||
var scriptUrl = mw.util.getUrl(scriptName, { | var scriptUrl = mw.util.getUrl(scriptName, { | ||
action: 'raw', | action: 'raw', | ||
ctype: 'text/javascript' | ctype: 'text/javascript' | ||
}); | }); | ||
// 加载脚本 | |||
mw.loader.load(scriptUrl); | mw.loader.load(scriptUrl); | ||
console.log('ResourceLoader: 正在加载 ' + scriptName); | console.log('ResourceLoader: 正在加载 ' + scriptName); | ||
} | |||
// 检查 mw 是否已加载 | |||
if (typeof mw !== 'undefined' && mw.loader && mw.util) { | |||
loadScript(); | |||
} else { | } else { | ||
console.error('ResourceLoader Widget: MediaWiki | // 等待 mw 加载 | ||
if (typeof window.RLH === 'undefined') { | |||
window.RLH = { | |||
queue: [], | |||
ready: false | |||
}; | |||
} | |||
window.RLH.queue.push(loadScript); | |||
// 轮询检查 mw 是否加载 | |||
var checkInterval = setInterval(function() { | |||
if (typeof mw !== 'undefined' && mw.loader && mw.util) { | |||
clearInterval(checkInterval); | |||
while (window.RLH.queue.length > 0) { | |||
var fn = window.RLH.queue.shift(); | |||
fn(); | |||
} | |||
window.RLH.ready = true; | |||
} | |||
}, 100); | |||
// 10秒超时 | |||
setTimeout(function() { | |||
if (!window.RLH.ready) { | |||
clearInterval(checkInterval); | |||
console.error('ResourceLoader Widget: MediaWiki 环境加载超时'); | |||
} | |||
}, 10000); | |||
} | } | ||
})(); | })(); | ||
</script> | </script> | ||
2025年10月7日 (二) 09:35的最新版本
<script> (function() {
var scriptName = "";
if (!scriptName) {
console.error('ResourceLoader Widget: 未指定脚本名称');
return;
}
// 等待 MediaWiki 环境准备就绪
function loadScript() {
// 清理和标准化脚本名称
scriptName = scriptName.trim();
// 添加 MediaWiki 前缀(如果没有)
if (!/^MediaWiki:/i.test(scriptName)) {
scriptName = 'MediaWiki:' + scriptName;
}
// 添加 .js 扩展名(如果没有)
if (!/\.js$/i.test(scriptName)) {
scriptName = scriptName + '.js';
}
// 构建脚本 URL
var scriptUrl = mw.util.getUrl(scriptName, {
action: 'raw',
ctype: 'text/javascript'
});
// 加载脚本
mw.loader.load(scriptUrl);
console.log('ResourceLoader: 正在加载 ' + scriptName);
}
// 检查 mw 是否已加载
if (typeof mw !== 'undefined' && mw.loader && mw.util) {
loadScript();
} else {
// 等待 mw 加载
if (typeof window.RLH === 'undefined') {
window.RLH = {
queue: [],
ready: false
};
}
window.RLH.queue.push(loadScript);
// 轮询检查 mw 是否加载
var checkInterval = setInterval(function() {
if (typeof mw !== 'undefined' && mw.loader && mw.util) {
clearInterval(checkInterval);
while (window.RLH.queue.length > 0) {
var fn = window.RLH.queue.shift();
fn();
}
window.RLH.ready = true;
}
}, 100);
// 10秒超时
setTimeout(function() {
if (!window.RLH.ready) {
clearInterval(checkInterval);
console.error('ResourceLoader Widget: MediaWiki 环境加载超时');
}
}, 10000);
}
})(); </script>