MediaWiki:Gadget-Emotion.js:修订间差异

H萌娘,万物皆可H的百科全书!
跳到导航 跳到搜索
imported>=海豚=
(// Edit Via InPageEdit)
imported>=海豚=
无编辑摘要
第1行: 第1行:
"use strict";
window.RLQ = window.RLQ || [];
window.RLQ.push(() => $(() => (async () => {
   await mw.loader.using("mediawiki.Uri");
   const domains = new Set("hdslb.com");
   $(".noRefererConfig").each((_, { dataset: { domain } }) => {
     for (const d of domain.split("|")) {
       domains.add(d);
     }
   });
   $('img[src^="http://"]').each((_, ele) => {
     const url = new mw.Uri(ele.src);
     for (const domain of domains.values()) {
       if (url.host.includes(domain)) {
         ele.src = ele.src.replace(/^http:/, "https:");
         return;
       }
     }
   });
})()));
(function () {
(function () {
    if (mw.config.get('wgAction') == 'view' && mw.config.get('wgPageName') != '首页') {
    if (mw.config.get('wgAction') == 'view' && mw.config.get('wgPageName') != '首页') {

2020年9月30日 (三) 12:49的版本

"use strict";
window.RLQ = window.RLQ || [];
window.RLQ.push(() => $(() => (async () => {
    await mw.loader.using("mediawiki.Uri");
    const domains = new Set("hdslb.com");
    $(".noRefererConfig").each((_, { dataset: { domain } }) => {
        for (const d of domain.split("|")) {
            domains.add(d);
        }
    });
    $('img[src^="http://"]').each((_, ele) => {
        const url = new mw.Uri(ele.src);
        for (const domain of domains.values()) {
            if (url.host.includes(domain)) {
                ele.src = ele.src.replace(/^http:/, "https:");
                return;
            }
        }
    });
})()));
(function () {
    if (mw.config.get('wgAction') == 'view' && mw.config.get('wgPageName') != '首页') {
        var emojis = '<div class="emo" style="display:none"><div class="emolist"><div>';
        for (i = 1; i < 40; ++i) {
            if (i == 40||i == 50) {
                emojis += "</div><div>";
            }
            emojis += '<button class="flowthread-btn plus" data-id=' + i + '><div class="emos emoji' + i + '" ></div></button>';
        }
        emojis += "</div>";
        var btns = "";
        for (var i = 0; i < 3; i++) {
            btns += '<button class="flowthread-btn emo-tab-' + i + '"></button>'
        }
        emojis = '<button class="flowthread-btn flowthread-btn-emoticon emoji" title="表情"><i class="far fa-laugh-wink" style="color:#555;"></i></button>' + emojis + '</div><div class="emo-tabs">' + btns + '</div></div>'
        var i = setInterval(function () {
            if ($(".comment-toolbar").length != 0) {
                clearInterval(i);
                $(".comment-toolbar").append(emojis);
                $('.emolist>div>button').on('click', function () {
                    var textarea = $(this).parent().parent().parent().parent().prev().prev();
                    var text = textarea.val();
                    text += '<div class="emos emoji' + this.dataset.id + '"></div>';
                    textarea.val(text);
                });
                $(".flowthread-btn-emoticon").on('click', function () {
                    var btn = $(this);
                    if (btn.hasClass("on")) {
                        btn.next().hide(300);
                        btn.removeClass('on');
                    } else {
                        btn.next().show(300);
                        btn.addClass('on');
                    }
                    btn.prev().prev().prev().addClass("on");
                });
                $(".emo-tabs").on('click', 'button', function () {
                    var btn = $(this);
                    if (!btn.hasClass('on')) {
                        btn.parent().children().removeClass('on');
                        btn.addClass('on');
                        var n = parseInt(Array.from(this.classList).find(function (x) { return x.indexOf("emo-tab") != -1 }).replace('emo-tab-', ''));
                        var c = btn.parent().prev().children();
                        c.css('display','none');
                        $(c[n]).css('display','block');
                    }
                });
                $(".comment-container").on('click', '.comment-reply', function () {
                    var j = setInterval(function () {
                        var toolbar = $('.comment-container .comment-toolbar')
                        if (toolbar.length !== 0) {
                            clearInterval(j);
                            toolbar.append(emojis);
                        }
                    })
                }).on('click', '.emolist>div>button', function () {
                    var textarea = $(this).parent().parent().parent().parent().prev().prev();
                    var text = textarea.val();
                    text += '<div class="emos emoji' + this.dataset.id + '"></div>';
                    textarea.val(text);
                }).on('click', '.flowthread-btn-emoticon', function () {
                    var btn = $(this);
                    if (btn.hasClass("on")) {
                        btn.next().hide(300);
                        btn.removeClass('on');
                    } else {
                        btn.next().show(300);
                        btn.addClass('on');
                    }
                    btn.prev().prev().prev().addClass("on");
                }).on('click','.emo-tabs>button',function(){
                    var btn = $(this);
                    if (!btn.hasClass('on')) {
                        btn.parent().children().removeClass('on');
                        btn.addClass('on');
                        var n = parseInt(Array.from(this.classList).find(function (x) { return x.indexOf("emo-tab") != -1 }).replace('emo-tab-', ''));
                        var c = btn.parent().prev().children();
                        c.css('display', 'none');
                        $(c[n]).css('display', 'block');
                    }
                })
            }
        }, 1);
    }
})();