MediaWiki:Gadget-site-shared.js

Bhsd讨论 | 贡献2020年11月29日 (日) 02:51的版本 (这是什么奇怪的bug……)

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

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:前往菜单 → 设置(Mac为Opera → Preferences),然后隐私和安全 → 清除浏览数据 → 缓存的图片和文件
// Unslashifier by [[wikipedia:User:Majavah]]
const pagename = mw.config.get('wgPageName');
if (pagename.endsWith('/')) {
    const url = '/zh/' + pagename.slice(0, -1);
    window.location.href = url;
}

mw.hook( 'wikipage.categories' ).add(function($content) {
    $content.find('a').filter(function() { return /(?:Μ's|Lily white)/.test( this.textContent ); })
        .each(function() {
            $(this).text( this.textContent.replace("Μ's", "μ's").replace('Lily white', 'lily white') );
        });
});

if (['edit', 'submit'].includes( mw.config.get('wgAction') ) && mw.config.get('wgIsProbablyEditable')) {
    $('body').on('click', 'span.mw-charinsert-item', function(e) {
        $('#wpTextbox1').textSelection(
            'encapsulateSelection', {
                pre: $(this).data('mw-charinsert-start') || $(this).data('start'),
                peri: '',
                post: $(this).data('mw-charinsert-end') || $(this).data('end')
            }
        );
    });
}

mw.hook('wikipage.content').add( function($content) {
    if(['edit', 'submit'].includes( mw.config.get('wgAction') ) &&
        !mw.config.get('wgIsProbablyEditable') &&
        $('.editRequest').length == 1) {
        var ele = $('.editRequest > a'),
            href = new mw.Uri(ele.attr('href')),
            date = new Date();
        href.query.preloadtitle = '编辑请求' + ' - ' + mw.config.get('wgUserName') + ' (' + date.getFullYear() + '-' + date.getMonth() + '-' + date.getDate() + ')';
        ele.attr('href', href.toString());
    }

    /* 沙盒顶部 */
    var uri = new mw.Uri();
    if( ['LLWiki:沙盒', 'Template:Sandbox'].includes(pagename) &&
        mw.config.get('wgAction') == 'view' &&
        !(uri.query.diff || uri.query.oldid) ) {
        var sandboxTop = $('<div>');
        sandboxTop.load('/zh?title=LLWiki:沙盒/顶部&variant=' + mw.config.get('wgUserVariant') + ' #mw-content-text table', function() {
            $content.prepend(sandboxTop.children());
        });
    }
    
    // 引自[[moegirl:mediawiki:common.js]]
    if (top !== window || location.host !== 'llwiki.org') {
        var messageDialog = new OO.ui.MessageDialog(),
            windowManager = new OO.ui.WindowManager();
        $("body").append(windowManager.$element);
        windowManager.addWindows([messageDialog]);
        messageDialog.title.$label.html('<p>LLWiki提醒您</p><p>您正在非LLWiki域名' + wgULS('访问', '訪問') + '</p>');
        messageDialog.message.$label.html('<p>' + wgULS('请注意不要在此域名下输入您的用户名或密码', '請注意不要在此域名下輸入您的用戶名或密碼') + ',以策安全!</p><p>LLWiki' + wgULS('域名为 ', '域名為') + ' llwiki.org</p>');
        windowManager.openWindow(messageDialog, {
            actions: [{
                action: "continue",
                label: "我知道了",
                flags: "destructive"
            }, {
                action: "jump",
                label: "前往LLWiki",
                flags: "progressive",
                href: top === window ? "https://llwiki.org" : location.href,
                target: "_blank"
            }]
        });
        var timer = setInterval(function() {
            if($('.oo-ui-windowManager .oo-ui-buttonElement-button').length) {
                clearInterval(timer);
                $('.oo-ui-windowManager .oo-ui-buttonElement-button').each(function() {
                    if(this.href) { $(this).off('click'); }
                });
            }
        }, 100);
    }
});