MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针。
如果在编辑的过程中遇到了什么问题,可以去讨论板提问。
为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证。
MCBBS Wiki GitHub群组已上线!
您可以在回声洞中发表吐槽!
服务器状态监控。点击进入
本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>
Gadget:ReplaceUsername.js:修订间差异
跳到导航
跳到搜索
Salt lovely(留言 | 贡献) (里面用到了ES6的功能,MediaWiki不支持ES6的代码压缩,所以另找一个页面写) |
(// Edit via Wikiplus) |
||
第15行: | 第15行: | ||
['Beanflame', 'beanflame'], |
['Beanflame', 'beanflame'], |
||
['Salt_lovely', '盐酱'], |
['Salt_lovely', '盐酱'], |
||
['Bleake','bleake'], |
|||
] |
] |
||
// 执行一次 |
// 执行一次 |
2020年12月19日 (六) 16:31的版本
(function () {
console.log(`MediaWiki用户名替换脚本运行中
///////////////////////////////////////////////////////
// 许可证 License //
// 协议:CC BY-NC-SA 4.0 //
// 作者:Salt_lovely //
// 出处:MCBBS Wiki - https://mcbbs-wiki.cn //
// 必须保留此许可证,并以相同的许可证分发 //
// 不接受任何形式的“别名”“昵称”或其他方式尝试绕过许可证 //
// 若协议冲突或不接受以上额外条款,你可以选择不搬运 //
///////////////////////////////////////////////////////
`)
/**改名表 */
let map = [
['Beanflame', 'beanflame'],
['Salt_lovely', '盐酱'],
['Bleake','bleake'],
]
// 执行一次
replaceUsername()
// 窗口加载完毕后再运行一次,以防漏网之鱼
window.addEventListener('load', replaceUsername)
/**修改用户名显示功能 */
function replaceUsername() {
for (let el of getUname()) {
for (let m of map) {
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
}
}
el.setAttribute('renamed', '')
}
/**获取可能出现用户名的元素 */
function getUname() {
// 所有常见的用户名链接
let a = Array.from(document.querySelectorAll('a.mw-userlink bdi:not([renamed])'))
// 顶栏的用户名
let 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
}
}
})()