User:WhitePhosphorus/js/macro.js

维基百科,自由的百科全书

注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。

(function($, mw) {

'use strict';

var macroDefine = {};

RegExp.escape = function(s) {
	s = s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
    return s.replace(/\\\$\d+/g, '(.*?)');
};

$('#wpSave, #wpPreview, #wpDiff').click(function(e) {
	var $EditTextbox = $('#wpTextbox1');
	if (!$EditTextbox) return;
	var content = $EditTextbox.val();
	if (window.macroDefine !== undefined) {
		macroDefine = window.macroDefine;
	}
	for (var k in macroDefine) {
		if (macroDefine.hasOwnProperty(k)) {
			var reg = new RegExp(RegExp.escape(k), 'g');
			content = content.replace(reg, macroDefine[k]);
		}
	}
	$EditTextbox.val(content);
});

})(jQuery, mw);