- 欢迎加入官方Discord和Telegram群组!
- 我们正在删除政治内容页面,还您一个干净的H萌娘,净化社区的同时也可以让您认真学习和讨论性知识(?
- 不知道接下来该看什么?可以去查阅本站的优质条目
- 如果您在H萌娘上发现某些内容错误/空缺,请勇于修正/添加!编辑H萌娘其实很容易!(由于遭到破坏,自动确认用户外的编辑现在会先审核 )
- 有任何意见、建议、求助都可以在 讨论版 提出!
MediaWiki:Group-sysop.js
跳到导航
跳到搜索
注意:这类代码页面在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- 按住
CTRL+SHIFT+DEL 或 ⌘-Shift-R
来清除缓存! - 或尝试在地址栏的地址最后添加代码
?_=1
来访问最新页面。 - 你还可以在设置中勾选小工具在页面右上角添加清除缓存按钮!
1. | 桌面版CSS | MediaWiki:Common.css |
2. | 桌面版JS | MediaWiki:Common.js |
3. | 移动端CSS | MediaWiki:Mobile.css |
4. | 移动端JS | MediaWiki:Mobile.js |
5. | 全局共用CSS | MediaWiki:Gadget-site-styles.css |
6. | 全局共用JS | MediaWiki:Gadget-site-javascript.js |
7. | 管理员CSS | MediaWiki:Group-sysop.css |
8. | 管理员JS | MediaWiki:Group-sysop.js |
9. | 编辑时载入 | MediaWiki:Common.js/edit.js |
引用api时用
mw.loader.using("mw.Api")
,引用uri时用mw.loader.using("mediawiki.Uri")
。// <pre>
/* 这里的任何JavaScript将只为管理员加载 */
"use strict";
(function ($, mw) {
/* 函数定义块 */
//首字母大写
function toUpperFirstCase(t) {
return t[0].substring(0, 1).toUpperCase() + t.substring(1);
}
//添加删除原因链接
function addLink($obj, act) {
var href = $obj.css("margin-right", "1em")[0].href,
reasonPageName = href.slice(href.indexOf("title=") + 6, href.indexOf("&action"));
$obj.after('<a target="_blank" href="/' + reasonPageName + '">浏览' + act + "原因</a>");
}
//防滥用过滤器相关
// eslint-disable-next-line no-unused-vars
function abuseLog() {
if ($(".mw-special-AbuseLog")[0]) {
var rawInput = $('input[name="wpSearchFilter"]').val().split("|");
var needToggle = new Set();
$(".plainlinks li").each(function () {
var self = $(this);
var id = -1;
switch (true) {
case self.find('a[href="/Special:%E6%BB%A5%E7%94%A8%E8%BF%87%E6%BB%A4%E5%99%A8/1"]')[0] && !rawInput.includes("1"):
id = 1;
break;
case self.find('a[href="/Special:%E6%BB%A5%E7%94%A8%E8%BF%87%E6%BB%A4%E5%99%A8/11"]')[0] && !rawInput.includes("11"):
id = 11;
break;
}
if (id !== -1) {
needToggle.add(id);
self.addClass("AbuseFilterNeedHidden");
}
});
if ($(".AbuseFilterNeedHidden")[0]) {
mw.loader.addStyleTag("body.AbuseFilterHidden .AbuseFilterNeedHidden { display: none; } ");
var lastStatus = localStorage.getItem("AnnTools-abuseLog-hidden") === "true";
var bdy = $("body");
$('form[action="/Special:%E6%BB%A5%E7%94%A8%E6%97%A5%E5%BF%97"] > fieldset').append("<p/>").find("p").append($("<span/>", {
text: "点击隐藏/显示防滥用过滤器" + Array.from(needToggle.values()).join("、").replace(/、(?=[^、]+$)/, "和") + "的日志:"
})).append($("<input/>", {
val: lastStatus ? "显示" : "隐藏",
on: {
click: function () {
if ($("body").hasClass("AbuseFilterHidden")) {
$(this).val("隐藏");
localStorage.getItem("AnnTools-abuseLog-hidden", "false");
} else {
$(this).val("显示");
localStorage.getItem("AnnTools-abuseLog-hidden", "true");
}
bdy.toggleClass("AbuseFilterHidden");
}
},
attr: {
type: "button"
}
}));
if (lastStatus) {
bdy.addClass("AbuseFilterHidden");
}
}
}
}
//Widget预加载相关
function widgetPreload() {
if (mw.config.get("wgAction") === "edit") {
var regex = /[-_,./\\]/;
if (regex.test(mw.config.get("wgPageName"))) {
window.onbeforeunload = undefined;
$(window).off("beforeunload");
location.replace(mw.config.get("wgServer") + mw.config.get("wgScriptPath") + "/index.php?action=edit&title=" + mw.config.get("wgPageName").replace(/ |_/g, "").replace(/^([^/]*)[/\\].*$/i, "$1").split(regex).map(function (n) {
return toUpperFirstCase(n);
}).join(""));
return;
}
var flag = ("wg" + mw.config.get("wgTitle")).replace(/ /g, "");
$("#wpTextbox1").val("<noinclude> </noinclude><includeonly><!--{if !isset($" + flag + ") || !$" + flag + '}--><!--{assign var="' + flag + '" value=true scope="global"}--><script>\n"use strict";\nwindow.addEventListener(\'jquery-ready\', () => {\n\n});\n</script><!--{/if}--></includeonly>');
}
if ($("#mw-content-text > .mw-parser-output > .noarticletext")[0]) {
$(document.body).addClass("noWidget");
}
}
//防滥用过滤器列表
function AbuseList() {
var idList = $(".TablePager_col_af_id a"),
lvList = $(".TablePager_col_af_hidden"),
idLength = idList.last().text().length;
idList.each(function () {
var zero = "";
while ($(this).text().length + zero.length < idLength) {
zero += "0";
}
$(this).prepend('<span style="speak:none;visibility:hidden;color:transparent;">' + zero + "</span>");
});
lvList.each(function () {
// if ($(this).text().length == 2) $(this).prepend('<span style="speak:none;visibility:hidden;color:transparent;">已</span>');
});
}
// 从MediaWiki拷过来的用于动态修改侧边栏
// eslint-disable-next-line no-unused-vars
function modifySidebar(action, section, name, link) {
try {
var target = {
languages: "#p-lang",
toolbox: "#p-tb"
}[section] || "#p-" + section;
if (action === "add") {
$(target).find("div:first ul:first").append('<li class="plainlinks"><a href="' + link + '">' + name + "</a></li>");
}
if (action === "remove") {
$(target).find('div:first ul:first li a[href="' + link + '"][title="' + name + '"]').parent().hide();
}
} catch (e) {
console.debug("modifySidebar", e); // let's just ignore what's happened
}
}
//评论栏管理链接
function flowthreadAdminLink() {
var link = $("<div/>", {
id: "flowthreadAdminLink",
css: {
"font-size": "12px",
color: "#999",
"text-align": "right"
}
}).append('<a href="' + mw.config.get("wgServer") + mw.config.get("wgScriptPath") + '/MediaWiki:Flowthread-blacklist" style="margin-right:8px;" target="_blank">关键词过滤名单</a>')
.append('<a href="' + mw.config.get("wgServer") + mw.config.get("wgScriptPath") + '/Special:%E7%AE%A1%E7%90%86FlowThread%E8%AF%84%E8%AE%BA" target="_blank">评论管理</a>');
$("#flowthread").append(link);
}
//i18n语言链接
function i18nLink() {
$('#mw-content-text a.new[href$="/zh-cn"], #mw-content-text a.new[href$="/zh-tw"], #mw-content-text a.new[href$="/zh-hk"]').each(function (_, ele) {
$(ele).removeClass("new").attr({
title: ele.title.replace(/\/zh-[a-z]+|(页面不存在)/g, ""),
href: ele.href.replace(/\/zh-[a-z]+/g, "")
});
});
}
/* 函数执行块 */
$(function () {
//Widget预加载模板
if (mw.config.get("wgNamespaceNumber") === 274 && !mw.config.get("wgCurRevisionId")) {
widgetPreload();
}
//删除保护原因浏览链接
if (window.location.href.indexOf("action=delete") !== -1) {
if ($(".mw-delete-editreasons")[0]) {
addLink($(".mw-delete-editreasons a"), "删除");
}
if ($(".mw-filedelete-editreasons")[0]) {
addLink($(".mw-filedelete-editreasons a"), "删除");
}
}
if (window.location.href.indexOf("action=protect") !== -1 && $(".mw-protect-editreasons")[0]) {
addLink($(".mw-protect-editreasons a"), "保护");
}
//防滥用过滤器日志
// abuseLog();
//防滥用过滤器列表
if ($(".mw-special-AbuseFilter")[0]) {
AbuseList();
}
//i18n语言链接
//评论管理
setInterval(function () {
i18nLink();
if ($("#flowthread")[0] && !$("#flowthreadAdminLink")[0]) {
flowthreadAdminLink();
}
}, 100);
//积压工作
$('#pt-watchlist').after('<li id="pt-backlog" class="sysop-show"><a href="/分类:积压工作">积压工作</a></li>');
});
})(jQuery, mediaWiki);
// </pre>