MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
Gadget:ReplaceUsername.js:修订间差异
跳到导航
跳到搜索
Salt lovely(留言 | 贡献) (里面用到了ES6的功能,MediaWiki不支持ES6的代码压缩,所以另找一个页面写) |
小 (Litwak913移动页面MediaWiki:Gadget-ReplaceUsername.js至Gadget:ReplaceUsername.js) |
||
(未显示3个用户的9个中间版本) | |||
第1行: | 第1行: | ||
"use strict"; |
|||
(function () { |
(function () { |
||
var map = [["Beanflame", "beanflame"], ["Salt_lovely", "盐酱"], ["Bleake", "bleake"]]; |
|||
console.log(`MediaWiki用户名替换脚本运行中 |
|||
⚫ | |||
/////////////////////////////////////////////////////// |
|||
⚫ | |||
// 许可证 License // |
|||
⚫ | |||
// 协议:CC BY-NC-SA 4.0 // |
|||
⚫ | |||
// 作者:Salt_lovely // |
|||
⚫ | |||
// 出处:MCBBS Wiki - https://mcbbs-wiki.cn // |
|||
⚫ | |||
// 必须保留此许可证,并以相同的许可证分发 // |
|||
var _iteratorNormalCompletion = true; |
|||
// 不接受任何形式的“别名”“昵称”或其他方式尝试绕过许可证 // |
|||
var _didIteratorError = false; |
|||
// 若协议冲突或不接受以上额外条款,你可以选择不搬运 // |
|||
var _iteratorError = undefined; |
|||
/////////////////////////////////////////////////////// |
|||
⚫ | |||
try { |
|||
for (var _iterator = getUname()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { |
|||
let map = [ |
|||
var el = _step.value; |
|||
var _iteratorNormalCompletion2 = true; |
|||
['Salt_lovely', '盐酱'], |
|||
var _didIteratorError2 = false; |
|||
⚫ | |||
var _iteratorError2 = undefined; |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
for (var _iterator2 = map[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
if (el.textContent == m[0] || el.textContent == mwUsernameTurn(m[0])) { |
|||
el.textContent = m[1]; |
|||
if (el.hasAttribute("title")) { |
|||
el.setAttribute("title", el.getAttribute("title") + " | 原名: " + m[0]); |
|||
} else { |
|||
el.setAttribute("title", "原名: " + m[0]); |
|||
} |
|||
break; |
|||
⚫ | |||
⚫ | |||
⚫ | |||
} |
} |
||
} |
|||
} catch (err) { |
|||
_didIteratorError2 = true; |
|||
_iteratorError2 = err; |
|||
} finally { |
|||
⚫ | |||
if (!_iteratorNormalCompletion2 && _iterator2.return) { |
|||
⚫ | |||
⚫ | |||
} finally { |
|||
if (_didIteratorError2) { |
|||
throw _iteratorError2; |
|||
} |
|||
} |
|||
} |
} |
||
⚫ | |||
el.setAttribute("renamed", ""); |
|||
} |
|||
⚫ | |||
⚫ | |||
⚫ | |||
} catch (err) { |
|||
⚫ | |||
_didIteratorError = true; |
|||
⚫ | |||
_iteratorError = err; |
|||
} finally { |
|||
⚫ | |||
try { |
|||
if (!_iteratorNormalCompletion && _iterator.return) { |
|||
_iterator.return(); |
|||
} |
} |
||
} finally { |
|||
⚫ | |||
if (_didIteratorError) { |
|||
throw _iteratorError; |
|||
⚫ | |||
⚫ | |||
} |
} |
||
} |
|||
⚫ | |||
function getUname() { |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
if (topyn) a.push(topyn); |
|||
return a; |
|||
⚫ | |||
⚫ | |||
function mwUsernameTurn(unRaw) { |
|||
while (unRaw.indexOf("_") != -1) { |
|||
⚫ | |||
}return unRaw; |
|||
} |
} |
||
} |
|||
})() |
})(); |
2023年2月8日 (三) 21:29的最新版本
"use strict";
(function () {
var map = [["Beanflame", "beanflame"], ["Salt_lovely", "盐酱"], ["Bleake", "bleake"]];
// 执行一次
replaceUsername();
// 窗口加载完毕后再运行一次,以防漏网之鱼
window.addEventListener("load", replaceUsername);
/**修改用户名显示功能 */
function replaceUsername() {
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = getUname()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var el = _step.value;
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = map[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var m = _step2.value;
if (el.textContent == m[0] || el.textContent == mwUsernameTurn(m[0])) {
el.textContent = m[1];
if (el.hasAttribute("title")) {
el.setAttribute("title", el.getAttribute("title") + " | 原名: " + m[0]);
} else {
el.setAttribute("title", "原名: " + m[0]);
}
break;
}
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2.return) {
_iterator2.return();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
el.setAttribute("renamed", "");
}
/**获取可能出现用户名的元素 */
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
function getUname() {
// 所有常见的用户名链接
var a = Array.from(document.querySelectorAll("a.mw-userlink bdi:not([renamed])"));
// 顶栏的用户名
var topyn = document.querySelector("#pt-userpage a:not([renamed])");
if (topyn) a.push(topyn);
return a;
}
/**MediaWiki会在一些地方用空格代替下划线 */
function mwUsernameTurn(unRaw) {
while (unRaw.indexOf("_") != -1) {
unRaw = unRaw.replace("_", " ");
}return unRaw;
}
}
})();