MediaWiki:HanziConverter.js:修订间差异

删除1,881字节 、​ 2021年4月15日 (星期四)
.
(.)
(.)
第3行: 第3行:
mw.loader.load("//mcbbs-wiki.cn/index.php?title=MediaWiki:HanziConverterCore.js&action=raw&ctype=text/javascript", "text/javascript");
mw.loader.load("//mcbbs-wiki.cn/index.php?title=MediaWiki:HanziConverterCore.js&action=raw&ctype=text/javascript", "text/javascript");
mw.loader.load("//mcbbs-wiki.cn/index.php?title=MediaWiki:HanziConverterPlus.js&action=raw&ctype=text/javascript", "text/javascript");
mw.loader.load("//mcbbs-wiki.cn/index.php?title=MediaWiki:HanziConverterPlus.js&action=raw&ctype=text/javascript", "text/javascript");
mw.loader.load("//mcbbs-wiki.cn/index.php?title=MediaWiki:HanziConverterCSS.js&action=raw&ctype=text/css", "text/css");
mw.loader.load("//mcbbs-wiki.cn/index.php?title=MediaWiki:HanziConverterCSS.css&action=raw&ctype=text/css", "text/css");
// 外壳部分, 需要依靠核心部分来运行, 估计不支持IE
// 外壳部分, 需要依靠核心部分来运行, 估计不支持IE
// 编译自TypeScript
// 编译自TypeScript
第222行: 第222行:
         return defaultValue;
         return defaultValue;
     }
     }
    /**
    * 节流函数,必定执行最后一次操作
    * @param threshold 阈值
    * @param handler 要执行的函数
    * @param _arguments 要执行的函数的参数
    */
    let throttled = function (handler, threshold = 500, ..._arguments) {
        let throttledTimer, throttledLastTrigger, timerTriggered = true;
        return function () {
            let now = new Date().getTime(), timePast = now - (throttledLastTrigger !== null && throttledLastTrigger !== void 0 ? throttledLastTrigger : 0);
            if (timePast < threshold) {
                if (timerTriggered) {
                    timerTriggered = false;
                    throttledTimer = setTimeout(() => {
                        // log('TimeoutRunHandler ' + timerTriggered)
                        timerTriggered = true;
                        throttledLastTrigger = new Date().getTime();
                        handler(..._arguments);
                    }, threshold - timePast);
                }
            }
            else {
                if (!timerTriggered) {
                    clearTimeout(throttledTimer);
                    // log('ClearTimeout ' + timerTriggered)
                }
                // log('RunHandler ' + timerTriggered)
                timerTriggered = false;
                throttledLastTrigger = now;
                handler(..._arguments);
                timerTriggered = true;
            }
        };
    };
    // /**
    //  * assert: 断言
    //  * @param condition 为假时报错
    //  * @param msg 报错语句,默认为“发生错误”
    //  * */
    // function assert(condition: any, msg?: string): asserts condition {
    //    if (!condition) throw new Error(prefix + ': ' + (msg ?? '发生错误'))
    // }
    // /**version: 显示版本*/
    // function version() {
    //    log(prefix + ' ' + ver)
    // }
     docReady(main);
     docReady(main);
})();
})();