User:QWERTY 52 38/common.js:修订间差异
跳转到导航
跳转到搜索
QWERTY 52 38(留言 | 贡献) (即将开始对wiki大改) |
QWERTY 52 38(留言 | 贡献) (// Edit via Wikiplus) |
||
(未显示同一用户的2个中间版本) | |||
第1行: | 第1行: | ||
/* From my common.js on MCBBS Wiki: https://mcbbs-wiki.cn/wiki/%E7%94%A8%E6%88%B7:QWERTY_52_38/common.js */ |
|||
var thisHref = window.location.href |
var thisHref = window.location.href |
||
/* Wikiplus */ |
/* Wikiplus */ |
||
mw.loader.load('https://wikiplus-app.com/Main.js') |
mw.loader.load('https://wikiplus-app.com/Main.min.js') |
||
/* 部分链接新窗口打开 */ |
/* 部分链接新窗口打开 */ |
||
第36行: | 第38行: | ||
}); |
}); |
||
/* Wikiplus */ |
|||
mw.loader.load('https://wikiplus-app.com/Main.js') |
|||
/* lib |
|||
---------------------------------------------------------------------- |
|||
*/ |
|||
function getTitle() { |
|||
return mw.config.get("wgPageName"); |
|||
} |
|||
function getPatrolToken(func) { |
|||
$.ajax({url: "/api.php?action=query&meta=tokens&format=json&type=patrol", type: "GET", success: function(data){func(data.query.tokens.patroltoken);}}) |
|||
} |
|||
function getCsrfToken(func) { |
|||
$.ajax({url: "/api.php?action=query&meta=tokens&format=json&type=csrf", type: "GET", success: function(data){func(data.query.tokens.csrftoken);}}) |
|||
} |
|||
function getRollbackToken(func) { |
|||
$.ajax({url: "/api.php?action=query&meta=tokens&format=json&type=rollback", type: "GET", success: function(data){func(data.query.tokens.rollbacktoken);}}) |
|||
} |
|||
function getWikiText(title, func) { |
|||
$.ajax({url: "/api.php?action=query&prop=revisions&titles=" + title + "&rvprop=content&indexpageids=true&format=json", type: "GET", success: function(data){func(data.query.pages[data.query.pageids[0]].revisions[0]["*"]);}}) |
|||
} |
|||
function getRevIds(func) { |
|||
$.ajax( |
|||
{url: "/api.php?action=query&prop=revisions&titles="+ title + "&rvlimit=20&rvprop=ids&format=json", type: "GET", success: function(data){ |
|||
var revisionslist = data.query.pages[pageid.toString()].revisions; |
|||
var revli = []; |
|||
for(i = 0; revisionslist[i]; i +=1) |
|||
{revli[i] = revisionslist[i].revid;} |
|||
func(revli);} |
|||
} |
|||
) |
|||
} |
|||
function searchWiki(text, func){ |
|||
$.ajax({url: "/api.php?action=query&format=json&list=search&srsearch=" + text + "&srlimit=max&srwhat=text&srprop=", type: "GET", success: |
|||
function(data){ |
|||
var res = data.query.search, res2 = []; |
|||
for(i = 0; res[i]; i += 1) |
|||
{res2[i]=res[i].title;} |
|||
func(res2);} |
|||
}); |
|||
} |
|||
function patrolRevision (patroltoken, revid){ |
|||
$.ajax({url: "/api.php?action=patrol&format=json", type: "POST", data: {"token" : patroltoken, "revid" : revid}}); |
|||
} |
|||
function editPage(title, summary, minor, text, csrftoken){ |
|||
$.ajax({url:"/api.php?action=edit&format=json", type:"POST", data: {title: title, summary: summary, minor: minor, basetimestamp: "now", text: text, token: csrftoken}}); |
|||
} |
|||
function movePage (from, to, reason, csrftoken, func) { |
|||
$.ajax({url:"/api.php?action=move", data: {from:from, to: to, reason: reason, token:csrftoken}, type: "POST", success: function(data){func(data);}}); |
|||
} |
|||
function getLinksHere(title, func) { |
|||
$.ajax({url: "/api.php?action=query&prop=linkshere&lhnamespace=*&lhlimit=max&lhprop=title&indexpageids=true&format=json&titles=" + title, type: "GET", success: function(data) |
|||
{var res = data.query.pages[data.query.pageids[0]].linkshere, res2 = []; |
|||
for (i = 0; res[i]; i += 1){ |
|||
res2[i] = res[i].title; |
|||
} |
|||
func(res2); |
|||
} |
|||
}); |
|||
} |
|||
/* ------ action functions------*/ |
|||
function patrolAll() { |
|||
getRevIds(function (revli) { |
|||
getPatrolToken(function (patroltoken) { |
|||
for(i = 0; revli[i]; i += 1){ |
|||
patrolRevision(patroltoken, revli[i]); |
|||
} |
|||
}); |
|||
}); |
|||
} |
|||
function inPageAPITest(){ |
|||
var option = prompt("请输入测试项目", "wgPageName"); |
|||
if (option != null) { |
|||
var result = mw.config.get(option); |
|||
prompt("结果:", result); |
|||
} |
|||
} |
|||
function replaceText(title, org, subst, summary) { |
|||
if (summary == undefined){summary = "";} |
|||
getCsrfToken(function (csrftoken) { |
|||
getWikiText(title, function (wikiText) { |
|||
var changedText = wikiText.split(org).join(subst); |
|||
editPage(title, summary, "true", changedText, csrftoken); |
|||
}); |
|||
}); |
|||
} |
|||
function massSearchReplace (org, subst) { |
|||
searchWiki(org, function (pageTitleList) { |
|||
for (i = 0; pageTitleList[i]; i += 1) |
|||
{replaceText(pageTitleList[i], org, subst, "批量搜索替换“" + org + "”为“" + subst + "”,第" + i + "个");} |
|||
}); |
|||
} |
|||
function massSearchReplacePrompt (){ |
|||
var org = prompt("org"); |
|||
var subst = prompt("subst"); |
|||
if (prompt("Continue?") != null) |
|||
{massSearchReplace(org, subst);} |
|||
} |
|||
function deepMove (from, to, reason) { |
|||
getCsrfToken(function (csrftoken) { |
|||
movePage(from, to, reason, csrftoken, function(data){ |
|||
getLinksHere(from, function (pageList) { |
|||
for (i = 0; pagelist[i]; i += 1){ |
|||
replaceText(pageList[i], "[[" + from + "]]", "[[" + to + "]]", "// DeepMove by MBWH"); |
|||
} |
|||
}); |
|||
}); |
|||
}); |
|||
} |
|||
function deepMovePrompt(){ |
|||
var from = prompt("From:", title); |
|||
var to = prompt("To:"); |
|||
var reason = prompt("Reason:"); |
|||
if (prompt("Continue?") != null) |
|||
{deepMove(from, to, reason);} |
|||
} |
|||
/* 一些变量 |
|||
---------------------------------------------------------------------- |
|||
*/ |
|||
var title, res1, pageid; |
|||
title = getTitle(); |
|||
res1 = "/wiki/Special:WhatLinksHere/" + title; |
|||
pageid = mw.config.get("wgArticleId"); |
|||
/* 电脑版 |
|||
---------------------------------------------------------------------- |
|||
*/ |
|||
/* 右上角添加 */ |
/* 右上角添加 */ |
||
$('#p-personal ul').append('<li><a href="?action=info">info</a></li>'); |
$('#p-personal ul').append('<li><a href="?action=info">info</a></li>'); |
2022年5月22日 (日) 14:55的最新版本
/* From my common.js on MCBBS Wiki: https://mcbbs-wiki.cn/wiki/%E7%94%A8%E6%88%B7:QWERTY_52_38/common.js */
var thisHref = window.location.href
/* Wikiplus */
mw.loader.load('https://wikiplus-app.com/Main.min.js')
/* 部分链接新窗口打开 */
addTarget("mw-changeslist-title")
addTarget("mw-changeslist-diff")
addTarget("mw-changeslist-diff-cur")
addTarget("mw-changeslist-groupdiff")
addTarget("mw-changeslist-history")
addTarget("mw-userlink")
function addTarget (obj) {
var a_mct = document.getElementsByClassName(obj);
for (var i = a_mct.length - 1; i >= 0; i--) {
a_mct[i].setAttribute("target","_blank")
};
}
$('#p-personal ul').append('<li><a href="?action=purge">强制刷新</a><li>')
$('#p-personal ul').append('<li><a href="https://wiki.xdi8.top/wiki/User:QWERTY_52_38/common.js">js</a></li>')
$('#p-personal ul').append('<li><a href="https://wiki.xdi8.top/wiki/User:QWERTY_52_38/common.css">css</a></li>')
// 取自 https://minecraft-zh.gamepedia.com/User:Ff98sha/common.js,仅供学习研究用
mw.loader.using(['oojs-ui-windows', 'oojs-ui-core'],
function() {
$('.mw-rollback-link a').each(function() {
var href = $(this).attr('href');
$(this).click(function(e) {
e.preventDefault();
OO.ui.confirm('你确定要回退此页面吗?').done(function(confirmed) {
if (confirmed) { location.href = href; }
});
});
});
});
/* 右上角添加 */
$('#p-personal ul').append('<li><a href="?action=info">info</a></li>');