User:Hat600/script/categoryredirect.js
外观
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
// <nowiki>
;(function($){
if ( mw.config.get('wgNamespaceNumber') != 14 )
return 0;
$('#t-info').after('<li id="t-createcatredirect"></li>');
$('#t-createcatredirect').append($('<a />')
.text(wgULS("分类重定向","分類重定向"))
.attr("title",wgULS("把硬重定向更改为分类重定向","把硬重定向更改為分類重定向"))
.attr("href", "javascript:void(0);")
.click(function(){
var api = new mw.Api();
var pname = mw.config.get('wgPageName');
var rname = '';
api.get({
action: 'query',
titles: pname,
redirects: 1
}).done(function(data){
if (data.query.redirects !== undefined){
rname = data.query.redirects[0].to.replace('Category:', '');
api.edit(pname, function(revision){
return {
text: '{{category redirect|' + rname + '}}',
summary: '把硬重定向更改为分类重定向,至[[Category:' + rname + ']]。[[User talk:Hat600/script/categoryredirect.js|(cr)]]',
minor: true
};
}).then( function(){
window.location.reload();
});
} else {
alert (wgULS("页面目前不是重定向,请谨慎处理。", "頁面目前不是重定向,請謹慎處理。"));
var flag = 0;
api.edit(pname, function(revision){
rname = revision.content.replace("#REDIRECT [[","#重定向 [[").replace("#REDIRECT[[","#重定向 [[").replace("#重定向[[", "#重定向 [[").split(["#重定向 [[:Category:"])[1];
if (rname === undefined){
return revision.content;
}
rname = rname.split(["]]"])[0];
if (rname === undefined){
return revision.content;
}
if (rname.search('>') + rname.search('<') + rname.search('"') + rname.search("'") + rname.search(';') > -5){
flag = 2;
return revision.content;
}
flag = 1;
return {
text: '{{category redirect|' + rname + '}}',
summary: '把硬重定向更改为分类重定向,至[[Category:' + rname + ']]。[[User talk:Hat600/script/categoryredirect.js|(cr)]]',
minor: true
};
}).then(function(){
switch(flag){
case 0:
alert (wgULS("无法找到重定向目标。", "無法找到重定向目標。"));
break;
case 1:
window.location.reload();
break;
case 2:
alert (wgULS("页面内容存在风险,请手动处理。", "頁面內容存在風險,請手動處理。"));
break;
}
});
}
});
})
); // append
})(jQuery);
// </nowiki>