微件

ResourceLoader:修订间差异

来自卡厄思梦境WIKI

律Rhyme留言 | 贡献
创建页面,内容为“<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 扩展名(…”
 
律Rhyme留言 | 贡献
无编辑摘要
 
第8行: 第8行:
     }
     }
      
      
     // 清理和标准化脚本名称
     // 等待 MediaWiki 环境准备就绪
    scriptName = scriptName.trim();
    function loadScript() {
   
        // 清理和标准化脚本名称
    // 添加 MediaWiki 前缀(如果没有)
        scriptName = scriptName.trim();
    if (!/^MediaWiki:/i.test(scriptName)) {
       
        scriptName = 'MediaWiki:' + scriptName;
        // 添加 MediaWiki 前缀(如果没有)
    }
        if (!/^MediaWiki:/i.test(scriptName)) {
   
            scriptName = 'MediaWiki:' + scriptName;
    // 添加 .js 扩展名(如果没有)
        }
    if (!/\.js$/i.test(scriptName)) {
       
        scriptName = scriptName + '.js';
        // 添加 .js 扩展名(如果没有)
    }
        if (!/\.js$/i.test(scriptName)) {
   
            scriptName = scriptName + '.js';
    // 使用 mw.loader 加载脚本
        }
    if (typeof mw !== 'undefined' && mw.loader && mw.util) {
       
        // 构建脚本 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>