MediaWiki:Gadget-registerToDelete.js
注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Internet Explorer:按住Ctrl的同时单击刷新,或按Ctrl-F5
- Opera:前往菜单 → 设置(Mac为Opera → Preferences),然后隐私和安全 → 清除浏览数据 → 缓存的图片和文件。
$(function() {
var self = $('#p-cactions .menu ul');
if (!self.find('li')[0] || mw.config.get('wgUserGroups').indexOf('patroller') === -1) return;
$('<a/>', {
attr: {
href: "#",
title: "挂删本页[alt-shift-d]",
accesskey: 'd'
},
text:'挂删'
}).on('click', function() {
var reason = prompt('挂删的理由【将会替换全文内容】\n【空白则使用默认理由(不在收录范围内或潜在价值较低)】\n【取消则不进行挂删】:'),
self = $(this);
if (reason === null) return;
var loadingPic = $('<div/>', {
css: {
position: 'fixed',
top: '0',
left: '0',
height: '100vh',
width: '100vw',
transition: 'all .73s linear',
color: 'black',
'padding-top':'49vh',
'background-color': 'rgba(255,255,255,0.73)',
'text-align': 'center'
}
}).append('<img src="https://upload.wikimedia.org/wikipedia/commons/d/de/Ajax-loader.gif" />正在挂删中……'),
reasonText = reason ? '|' + reason : '';
$.ajax({
url: 'http://xilinghost.tk/wiki/api.php?action=query&meta=tokens&format=json',
type: 'GET',
beforeSend: function() {
$(document.body).append(loadingPic);
},
error: function() {
loadingPic.css('color', 'red').text('挂删失败……').delay(1000).queue(function() {
$(this).fadeOut(370);
$(this).dequeue();
});
},
success: function(d) {
if (d.error) return loadingPic.css('color', 'red').text('挂删失败……').delay(1000).queue(function() {
$(this).fadeOut(370);
$(this).dequeue();
});
var token = d.query.tokens.csrftoken;
$.ajax({
url: 'http://xilinghost.tk/wiki/api.php',
type: 'POST',
data: {
action: 'edit',
format: 'json',
title: mw.config.get('wgPageName'),
text: '{{即将删除' + reasonText + '}}',
summary: '挂删' + (reason ? ':' + reason : ''),
nocreate: true,
watchlist: 'preferences',
token: token
},
error: function() {
loadingPic.css('color', 'red').text('挂删失败……').delay(1000).queue(function() {
$(this).fadeOut(370);
$(this).dequeue();
});
},
success: function(d) {
if (d.error) return loadingPic.css('color', 'red').text('挂删失败……').delay(1000).queue(function() {
$(this).fadeOut(370);
$(this).dequeue();
});
loadingPic.css('color', 'green').text('挂删成功!即将刷新……');
window.setTimeout(function(){
window.location.reload();
}, 730);
}
});
}
});
}).appendTo($('<li/>', {
attr: {
id: 'ca-registerToDelete'
}
}).prependTo(self));
});