置顶公告:【置顶】关于临时开启评论区所有功能的公告(2022.10.22) | 【置顶】关于本站Widget恢复使用的公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

User:BearBin/common.js

猛汉♂百科,万男皆可猛的百科全书!转载请标注来源页面的网页链接,并声明引自猛汉百科。内容不可商用。
跳到导航 跳到搜索

注意:在保存之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox/Safari:按住“Shift”的同时单击“刷新”,或按“Ctrl-F5”或“Ctrl-R”(Mac为“⌘-R”)
  • Google Chrome:按“Ctrl-Shift-R”(Mac为“⌘-Shift-R”)
  • Internet Explorer:按住“Ctrl”的同时单击“刷新”,或按“Ctrl-F5”
  • Opera:在“工具→首选项”中清除缓存
如果您已登录但该页面出现未登录状态,请尝试在地址栏的地址最后添加代码?_=1来访问最新页面。
添加代码后的本页地址如下:-{R|https://moegirl.uk/User:BearBin/common.js?_=1}-
mw.loader.load('/index.php?title=User:BearBin/js/ruby.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=User:BearBin/js/userStatus.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=User:BearBin/js/QuickDiff.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=User:BearBin/js/Music163Lrc.js&action=raw&ctype=text/javascript');
mw.loader.load('/index.php?title=User:啊啊啊可爱的废人/js/SendWelcomeMessage.js&action=raw&ctype=text/javascript');
mw.loader.load('https://cdn.jsdelivr.net/gh/lovelyCARDINAL/wikitool/massRollback.js');
mw.loader.load("//cdn.jsdelivr.net/gh/BearBin1215/MoegirlPedia@master/gadgets/BulkMove.min.js");
mw.loader.load('/index.php?title=User:BearBin/js/ReplaceTextEnhancer.js&action=raw&ctype=text/javascript');

mw.loader.using(['site']).then(function () { i18n = { specialpage: "Special:上传文件", multiupload: "批量上传:", yes: "是", no: "否", sourcefiles: "源文件名:", uploadfiles: "上传文件", nofiles: "请选择要上传的文件!", uploading: "上传中……", uploaded: "已上传", failed: "上传失败", done: "上传完成" }; if (mw.config.get("wgPageName") !== i18n.specialpage) return; $("#wpUploadFile").parent().parent().addClass("regularFileSelect"); $("tr.regularFileSelect").after('<tr><td class="mw-label">' + i18n.multiupload + '</td><td class="mw-input"><label><input type="radio" name="multipleFiles" value="' + i18n.yes + '" /> ' + i18n.yes + '</label> &nbsp; <label><input type="radio" name="multipleFiles" value="' + i18n.no + '" checked="" /> ' + i18n.no + '</label></td></tr>'); $("tr.regularFileSelect").before('<tr class="multipleFileSelect" style="display:none;"><td class="mw-label">' + i18n.sourcefiles + '</td><td class="mw-input"><input type="file" id="multiupload" multiple /></td></tr>'); $("input[name='wpUpload']").addClass("regularFileSelect"); $("#wpDestFile").parent().parent().addClass("regularFileSelect"); $("#wpIgnoreWarning").parent().parent().addClass("regularFileSelect"); $("span.mw-htmlform-submit-buttons").append('<input type="button" value="' + i18n.uploadfiles + '" class="multipleFileSelect" style="display:none;" id="multiFileSubmit" />'); $("input[name='multipleFiles']").change(function () { if (this.value === i18n.yes) { $(".regularFileSelect").hide(); $(".multipleFileSelect").show() } else { $(".regularFileSelect").show(); $(".multipleFileSelect").hide() } }); $("#multiFileSubmit").click(function () { files = $("#multiupload")[0].files; if (files.length === 0) { mw.notify(i18n.nofiles, { title: "批量上传" }); return false } summary = $("#wpUploadDescription").val(); if (summary !== "") text = summary; else text = ""; watch = "preferences"; if ($("#wpWatchthis").is(":checked")) watch = "watch"; else watch = "nochange"; curFile = 0; $("#firstHeading").text(i18n.uploading); $("#mw-content-text").html("<h3>" + i18n.uploaded + "</h3><ul></ul><div style='display:none;' id='multiUploadFailed'><h3>" + i18n.failed + "</h3><ul></ul></div>"); function gNF() { if (curFile > files.length) { $("#mw-content-text").append("<h3>" + i18n.done + "</h3>"); return } if (files[curFile] === undefined) { curFile++; gNF(); return } $.ajax({ url: mw.util.wikiScript('api'), data: { action: 'query', meta: 'tokens', format: 'json' }, dataType: 'json' }).done(function (data) { fd = new FormData(); fd.append("action", "upload"); fd.append("token", data.query.tokens.csrftoken); fd.append("filename", files[curFile].name); fd.append("file", files[curFile]); if (text !== "") fd.append("comment", text); fd.append("watchlist", watch); fd.append("ignorewarnings", 1); fd.append("format", "json"); $.ajax({ url: mw.util.wikiScript('api'), method: 'POST', data: fd, cache: false, contentType: false, processData: false, type: 'POST' }).done(function (d) { if ('error' in d) { var errmsg = ""; switch (d.error.code) { case 'fileexists-no-change': errmsg = "文件未改变"; break; default: errmsg = d.error.info; console.log(d) }$("#multiUploadFailed ul").append('<li>' + files[curFile].name + ':' + errmsg + '</li>'); $("#multiUploadFailed").show() } else $("#mw-content-text > ul").append('<li><a href="' + d.upload.imageinfo.descriptionurl + '" target="_blank">' + d.upload.filename + '</a></li>'); curFile++; gNF() }).fail(function (d) { $("#multiUploadFailed ul").append('<li>' + files[curFile].name + '</li>'); $("#multiUploadFailed").show(); curFile++; gNF() }) }) } gNF() }) });

window.popupPreviewDiffs = false;

(function (editCount) {
    if (editCount !== null) mw.loader.addStyleTag('#pt-mycontris>a::after, .menu__item--userContributions>span>span::after, #mw-mf-page-left .menu__item--userContributions>span::after {content: " (' + editCount + ')"}')
})(mw.config.get('wgUserEditCount'));

/**
 * 添加清理页面缓存按钮
 */
$(function () {
    var containerNode;
    if (mw.config.get("wgNamespaceNumber") === -1) {
        containerNode = $('<span/>');
        containerNode.append("特殊页面");
    } else {
        containerNode = $('<a title="清除本页缓存" />');
        var statusNode = $('<span/>').text('清除缓存'),
            runningStatus = false;
        containerNode.attr("href", 'javascript:void(0);');
        containerNode.append(statusNode);
        containerNode.on('click', function () {
            if (runningStatus) return;
            statusNode.text('正在清除…');
            runningStatus = true;
            var api = new mw.Api(),
                opt = {
                    action: 'purge',
                    format: 'json',
                    forcelinkupdate: true,
                    titles: mw.config.get('wgPageName')
                };
            api.post(opt).then(function () {
                requestAnimationFrame(function () {
                    api.post(opt).then(function () {
                        statusNode.text('清除成功!');
                        setTimeout(location.reload.bind(location), 200);
                    }, function () {
                        statusNode.text('清除失败!');
                        runningStatus = false;
                        setTimeout(function () {
                            if (!runningStatus) statusNode.text('清除缓存');
                        }, 2000);
                    });
                });
            }, function () {
                statusNode.text('清除失败!');
                runningStatus = false;
                setTimeout(function () {
                    if (!runningStatus) statusNode.text('清除缓存');
                }, 1000);
            });
        });
    }
    var li;
    var userSkin = mw.config.get("skin");
    if (userSkin === "vector") {
        li = $('<li id="pt-purge"/>').appendTo("#p-personal ul.vector-menu-content-list");
        li.append(containerNode);
    } else if (userSkin === "citizen") {
        li = $('<li id="purge-cache-button"/>').appendTo("#p-cactions>ul");
        li.append(containerNode);
        $('head').append('<style>#purge-cache-button>a::before{content:"〇";width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:20px;font-weight:700}</style>')
    } else if (userSkin === "vector-2022") {
        li = $('<li class="mw-list-item" id="purge-cache-button"/>').appendTo("#p-cactions ul.vector-menu-content-list");
        li.append(containerNode);
    }
});


$(".mw-tag-marker-Automation_tool").text("半自动操作");
$(".mw-tag-marker-Bot").text("机器人/全自动操作");
$(".mw-tag-marker-疑似添加用户页面链接").text("用户链接");
$(".mw-tag-marker-Welcome_to_MoegirlPedia").text("新用户欢迎");
$(".mw-tag-marker-AWB").text("AWB编辑");
$(".mw-tag-marker").each(function () {
    $(this).attr("title", $(this).attr("class").replaceAll(/.*mw-tag-marker-([^ ]*)/g, "$1").replaceAll("_", " "));
});

if(mw.config.get("wgPageName")==="萌娘百科:活动/管理直升竞猜"){var __awaiter=(this&&this.__awaiter)||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value)})}return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator["throw"](value))}catch(e){reject(e)}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};var __generator=(this&&this.__generator)||function(thisArg,body){var _={label:0,sent:function(){if(t[0]&1)throw t[1];return t[1]},trys:[],ops:[]},f,y,t,g;return g={next:verb(0),"throw":verb(1),"return":verb(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function verb(n){return function(v){return step([n,v])}}function step(op){if(f)throw new TypeError("Generator is already executing.");while(g&&(g=0,op[0]&&(_=0)),_)try{if(f=1,y&&(t=op[0]&2?y["return"]:op[0]?y["throw"]||((t=y["return"])&&t.call(y),0):y.next)&&!(t=t.call(y,op[1])).done)return t;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case 0:case 1:t=op;break;case 4:_.label++;return{value:op[1],done:false};case 5:_.label++;y=op[1];op=[0];continue;case 7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue}if(op[0]===3&&(!t||(op[1]>t[0]&&op[1]<t[3]))){_.label=op[1];break}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break}if(t[2])_.ops.pop();_.trys.pop();continue}op=body.call(thisArg,_)}catch(e){op=[6,e];y=0}finally{f=t=0}if(op[0]&5)throw op[1];return{value:op[0]?op[1]:void 0,done:true}}};mw.loader.load("https://html2canvas.hertzen.com/dist/html2canvas.min.js");mw.loader.using("oojs-ui").then(function(){var $mwContentText=$("#mw-content-text");var $copyStyle=$("<style>.poll-list {margin-top: 0.5em;}body .poll-list .ajaxpoll {min-width: 320px;max-width: 320px;width: 320px;}.ajaxpoll-misc,.ajaxpoll-info,.ajaxpoll-answer[answer=\"0\"],input[id^=ajaxpoll-post-answer],.infoBox.vote-note {display: none;}.ajaxpoll .ajaxpoll-our-vote div {border: 0;border-right: 1px solid #ccc;background: #e5e5e5;position: absolute;top: 0;left: 0;height: 12px;font-size: 1px;line-height: 12px;z-index: 2;}#append-question {display: flex;flex-direction: column;justify-content: center;align-items: center;}</style>");var copyWikiTextButton=new OO.ui.ButtonWidget({label:"复制图片",id:"copy-image-button",});copyWikiTextButton.$element.css("float","right").css("margin-right","0").on("click",function(){return __awaiter(void 0,void 0,void 0,function(){return __generator(this,function(_a){switch(_a.label){case 0:$("head").append($copyStyle);return[4,html2canvas($mwContentText[0]).then(function(canvas){canvas.toBlob(function(blob){navigator.clipboard.write([new ClipboardItem({"image/png":blob})]).then(function(){mw.notify("复制成功")},function(error){mw.notify("\u590D\u5236\u5931\u8D25\uFF1A".concat(error),{type:"warn"})})})})];case 1:_a.sent();$copyStyle.remove();return[2]}})})});$("#siteSub").before(copyWikiTextButton.$element)})}