2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

User:C8H17OH/simplifyPageName.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.icu/User:C8H17OH/simplifyPageName.js?_=1}-
// 巡查用小工具,对于主、模板、分类空间的页面,在右上角【更多】中添加【页面名简体化】。修改自[[User:C8H17OH/moveToUserSubpage.js]]。
// 更新:本工具目前亦可供使用繁体的维护人员使用。
// 使用方法:在[[Special:我的用户页/common.js]]中添加一行:mw.loader.load('https://zh.moegirl.org.cn/index.php?title=User:C8H17OH/simplifyPageName.js&action=raw&ctype=text/javascript');

$(function() {
    var self = $('.skin-vector #p-cactions .menu ul, .skin-moeskin #moe-custom-sidenav-block-list');
    var simplifyPageNameNS = [0,2,10,14];
    if (!self.find('li')[0]
        || mw.config.get("wgArticleId") === 0
        || $('.willBeDeleted')[0]
        || ( !mw.config.get('wgUserGroups').includes("patroller") && !mw.config.get('wgUserGroups').includes("sysop") )
        || !simplifyPageNameNS.includes(mw.config.get("wgNamespaceNumber"))
    ) return;
    $('<a/>', {
        attr: {
            href: "#",
            title: "移动到简体页面名,不留重定向"
        },
        text: '页面名简体化'
    }).on('click', function() {
        var api = new mw.Api(),
            loadingBox = $('<div/>', {
                css: {
                    position: 'fixed',
                    top: '0',
                    left: '0',
                    height: '100vh',
                    width: '100vw',
                    transition: 'opacity .73s linear',
                    color: 'black',
                    'padding-top': '49vh',
                    'background-color': 'rgba(255,255,255,0.73)',
                    'text-align': 'center'
                }
            }).append('<img src="https://static.mengniang.org/common/d/d1/Windows_10_loading.gif" style="height: 1em; margin-top: -.25em;">正在移动中……'),
            reason;
        loadingBox.endOut = function endOut() {
            this.css('color', 'red').text('移动失败……').delay(1000).queue(function() {
                $(this).css('opacity', '0').delay(730).queue(function() {
                    $(this).remove();
                    $(document.body).css('overflow', 'auto');
                    $(this).dequeue();
                });
                $(this).dequeue();
            });
        };
        reason = '移动到简体页面名';
        $(document.body).append(loadingBox).css('overflow', 'hidden');
        
        api.postWithToken('csrf', {
            action: 'parse',
            format: 'json',
            title: mw.config.get('wgPageName'),
            uselang: 'zh-cn',
            prop: 'displaytitle',
            disablelimitreport: true
        }).then(function(d) {
            // console.log("parse done");
            if (d.error) return loadingBox.endOut();
            dest = d.parse.displaytitle;
            if (confirm('页面将被移动到[[' + dest + ']],确认如此?') === false) return loadingBox.endOut();
            return api.postWithToken('csrf', {
                action: 'move',
                format: 'json',
                from: mw.config.get('wgPageName'),
                to: dest,
                movetalk: true,
                movesubpages: true,
                noredirect: true,
                reason: reason,
                watchlist: 'preferences'
           });
        }, loadingBox.endOut.bind(loadingBox)).then(function(d) {
        	// console.log("register_to_delete done");
            if (d.error) return loadingBox.endOut();
            loadingBox.css('color', 'green').text('移动成功!即将刷新……');
            window.setTimeout(function() {
                window.location.reload();
            }, 730);
        }, loadingBox.endOut.bind(loadingBox));
    }).appendTo($('<li/>', {
        attr: {
            id: 'ca-simplifyPageName'
        }
    }).appendTo(self));
});