MediaWiki:Gadget-Difflink.js
注意:垃拉保存之后,侬作兴要清除浏览器个缓存才好看见改变。
- Firefox或Safari:揿牢“Shift”个同时点击“刷新”,或揿“Ctrl-F5”或“Ctrl-R”(Mac上是“⌘-R”)
- Google Chrome:揿“Ctrl-Shift-R”(Mac上是“⌘-Shift-R”)
- Internet Explorer / Edge:揿牢“Ctrl”个同时点击“刷新”,或揿“Ctrl-F5”
- Opera:去到菜单 → 设置(Mac上是Opera → 偏好设定),再转到隐私&安全 → 清除浏览数据 → 缓存个图片搭文件。
//从中文维基百科抄得来个
//Released under GPL v3 license
function ins(dec, link, display) {
mw.loader.using(['mediawiki.util', 'mediawiki.widgets', 'oojs-ui-windows'], function () {
var linkNode = document.getElementById('t-difflink');
if (linkNode === null) {
linkNode = mw.util.addPortletLink('p-tb', '#', '内部链接', 't-difflink', '获得' + dec);
if (linkNode === null)
return;
}
linkNode.onclick = function (e) {
e.preventDefault();
var $dom = $('<div>');
new Array(link, '[[' + link + ']]', '[[' + link + '|' + display + ']]').forEach(function (v) {
$dom.append(new mw.widgets.CopyTextLayout({copyText: v, align: 'top'}).$element);
});
OO.ui.alert($dom, {title: dec, size: 'medium'});
};
});
}
function run() {
var diff = mw.config.get('wgDiffNewId');
if (diff) {
var oldid = mw.config.get('wgDiffOldId');
var insDiff = function (oldid) {
var link = 'Special:Diff/';
if (oldid)
link += oldid + '/';
link += diff;
ins('当前隻差别个内部链接', link, '版本差别');
};
insDiff(oldid);
if (oldid)
new mw.Api().get({
action: 'compare',
fromrev: diff,
torelative: 'prev',
prop: 'ids'
}).done(function (data) {
if (
diff === mw.config.get('wgDiffNewId') &&
data.compare && data.compare.fromrevid === mw.config.get('wgDiffOldId')
)
insDiff();
});
} else if ($('#contentSub').find('.mw-revision').length) {
var revisionid = mw.config.get('wgRevisionId');
if (revisionid)
ins('当前隻修订版本个内部链接', 'Special:PermanentLink/' + revisionid, '固定版本');
}
}
$(function () {
mw.hook('wikipage.content').add(run);
});