用戶:ChasingAir/js/Gadget-Difflink.js

出自維基百科

注意: 保存之後, 倷要清吥瀏覽器嗰緩存才眵得正改嗰內容。 Mozilla / Firefox / Safari: 按到 Shift 接到按刷新(或按吖Ctrl-Shift-R,到蘋果Mac上按Cmd-Shift-R);IE: 按到 Ctrl接到按刷新,或按吖Ctrl-F5Konqueror: 單只要按 刷新Opera: 用戶要到 工具-設置 完全嗰清除緩存。

//<nowiki>[[User:AnYiLin/Difflink.js]]</nowiki>
//Released under GPL v3 license
(function($, mw) {
	mw.loader.using(['ext.gadget.site-lib', 'mediawiki.util', 'mediawiki.widgets', 'oojs-ui']).done(function() {
		if ($('#p-cactions').length > 0 || $('#p-tb').length > 0) {
			var diff = mw.config.get('wgDiffNewId'),
				oldid = mw.config.get('wgDiffOldId') || mw.config.get('wgRevisionId'),
				pos = 'p-cactions',
				ins = function(tex, dec, t1, t2) {
						if (mw.config.get('skin') === 'minerva') pos = 'p-tb';
						mw.util.addPortletLink(pos, '#', tex, 't-difflink', dec);
						$('#t-difflink').click(function() {
							event.preventDefault();
							var $dom = $('<div>');
							new Array(t1, t2).forEach(function(v) {
								$dom.append(new mw.widgets.CopyTextLayout({copyText: v}).$element)
							});
							if (/(Android|iPhone|Mobile)/i.test(navigator.userAgent)) {
								OO.ui.alert($dom)
							} else {
								OO.ui.alert($dom, {size: 'medium'})
							}
						})
					};
			if (diff) {
				var multi = '';
				if ($('td').is('.diff-multi')) multi = oldid + '/';
				ins(wgUVS('当前差异链接', '當前差異連結'), wgUVS('复制链接到当前差异版本的维基语法', '複製連結到當前差異版本的維基語法'), 'Special:Diff/' + multi + diff, '[[Special:Diff/' + multi + diff + '|' + wgUVS('差异', '差異') + ']]')
			} else if ($('#mw-revision-nav').length > 0) {
				ins(wgUVS('当前修订链接', '當前修訂連結'), wgUVS('复制链接到当前修订版本的维基语法', '複製連結到當前修訂版本的維基語法'), 'Special:PermaLink/' + oldid, '[[Special:PermaLink/' + oldid + '|版本]]')
			}
		}
	})
})(jQuery, mw);