MediaWiki:Gadget-purgetab.js
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
// {{documentation}}
jQuery(document).ready(function() {
if (!mw.config.get('wgArticleId'))
return;
var link;
var portletIdToAdd = $("#p-cactions").length != 0 ? "p-cactions" : "p-views";
link = mw.util.addPortletLink(
portletIdToAdd, mw.util.getUrl(mw.config.get('wgPageName'), {
'action': 'purge'
}),
(mw.config.get('skin') == "vector") ? "刷新缓存" : "*",
'ca-purge', "刷新页面缓存", '*'
);
var api = new mw.Api();
link = mw.util.addPortletLink(
portletIdToAdd, mw.util.getUrl(mw.config.get('wgPageName'), {
'action': 'purge',
'forcelinkupdate': 1
}),
(mw.config.get('skin') == "vector") ? "强制刷新" : "**",
'ca-purge-forcelinkupdate', "强制刷新并更新链接表", ','
);
link.addEventListener('click', function(ev) {
api.post({
action: 'purge',
pageids: mw.config.get('wgArticleId'),
forcelinkupdate: 1
}).then(function() {
location.reload();
}, function(code, details) {
var mesg;
switch (code) {
case 'http':
mesg = 'HTTP 错误: ' + details.xhr.statusText;
break;
case 'ok-but-empty':
mesg = '收到空响应。';
break;
default:
mesg = details.error.info;
}
mw.notify('<b>强制刷新失败</b>: ' + mesg, { type: 'error' });
console.error(arguments);
});
ev.preventDefault();
}, false);
link = mw.util.addPortletLink(
portletIdToAdd, 'javascript:void window.warranty',
(mw.config.get('skin') == "vector") ? "空编辑" : "***",
'ca-nulledit', "空编辑(不改变内容,仅刷新)", '0'
);
link.addEventListener('click', function(ev) {
api.post({
action: 'edit',
pageid: mw.config.get('wgArticleId'),
appendtext: '',
watchlist: 'nochange',
nocreate: '1',
token: mw.user.tokens.get('csrfToken')
}).then(function() {
location.reload();
}, function(code, details) {
var mesg;
switch (code) {
case 'http':
mesg = 'HTTP 错误: ' + details.xhr.statusText;
break;
case 'ok-but-empty':
mesg = '收到空响应。';
break;
default:
mesg = details.error.info;
}
mw.notify('<b>空编辑失败</b>: ' + mesg, { type: 'error' });
console.error(arguments);
});
ev.preventDefault();
}, false);
});