MediaWiki:HanziConverter.js:修订间差异

删除1,881字节 、​ 2021年4月15日 (星期四)
.
(.)
(.)
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:HanziConverterCSS.jscss&action=raw&ctype=text/css", "text/css");
// 外壳部分, 需要依靠核心部分来运行, 估计不支持IE
// 编译自TypeScript
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);
})();