您似乎还未注册一个账号?我们强烈推荐您点击此处创建一个账户。|如果您在H萌娘上发现某些内容错误/空缺/不中立,请勇于按右上角编辑按钮!

Widget:欢迎:修订间差异

H萌娘,万物皆可H的百科全书!
跳转到导航 跳转到搜索
imported>=海豚=
无编辑摘要
imported>=海豚=
无编辑摘要
第1行: 第1行:
<noinclude><nowiki>QvQ</nowiki></noinclude><includeonly><!--{if !isset($wgMainpage) || !$wgMainpage}--><!--{assign var="wgMainpage" value=true scope="global"}--><style type="text/css">
<noinclude><nowiki>QvQ</nowiki></noinclude><includeonly><!--{if !isset($wgwelcome) || !$wgwelcome}--><!--{assign var="wgwelcome" value=true scope="global"}--><style type="text/css">
@media (min-width: 1480px) {
.welcome,
    .mainpage {
.welcome * {
        width: 1404px;
        margin: 0 auto;
    }
    .mainpage-container,
    .mainpage-column {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-around;
        align-content: stretch;
        align-items: stretch;
    }
    .mainpage-column {
        flex-direction: column;
    }
}
@media (min-width: 1640px) {
    .mainpage {
        width: 1680px;
    }
}
@media (max-width: 1480px) {
    .mainpage,
    .mainpage-column-left,
    .mainpage-column-right {
        max-width: 1360px;
    }
}
.mainpage,
.mainpage * {
     box-sizing: border-box;
     box-sizing: border-box;
     transition: all .37s;
     transition: all .37s;
}
}
.mainpage {
.welcome {
     /*background: url(./zhMoegirl15.2.png) no-repeat center center;*/
     /*background: url(./zhMoegirl15.2.png) no-repeat center center;*/
     background-size: contain;
     background-size: contain;
}
}
.mainpage-text-align-center {
.welcome-text-align-center {
     text-align: center;
     text-align: center;
}
}
.mainpage-headtitle,
.welcome-headtitle,
.mainpage-column>* {
.welcome-column>* {
     margin: .5em;
     margin: .5em;
     padding: .5em;
     padding: .5em;
     box-shadow: 1px 1px 1px 1px #ededde;
     box-shadow: 1px 1px 1px 1px #ededde;
}
}
.mainpage-headtitle:hover, .mainpage-column>*:hover {
.welcome-headtitle:hover, .welcome-column>*:hover {
     box-shadow: 1px 1px 6px 3px #ededde;
     box-shadow: 1px 1px 6px 3px #ededde;
     margin: .5em .4em;
     margin: .5em .4em;
}
}
.mainpage-column>*:hover {
.welcome-column>*:hover {
     background-color: #FFF;
     background-color: #FFF;
}
}
.mainpage-headtitle {
.welcome-headtitle {
     font-size: 1.8em;
     font-size: 1.8em;
     text-align: center;
     text-align: center;
}
}
.mainpage .mainpage-column h2 {
.welcome .welcome-column h2 {
     margin-top: 0;
     margin-top: 0;
     border-width: 0;
     border-width: 0;
第69行: 第40行:
     border-left: 1em #ededde solid;
     border-left: 1em #ededde solid;
}
}
.mainpage .mainpage-column h3 {
.welcome .welcome-column h3 {
     padding-left: .5em;
     padding-left: .5em;
}
}
.mainpage .mw-headline-number {
.welcome .mw-headline-number {
     display: none;
     display: none;
}
}
.mainpage .mainpage-column p {
.welcome .welcome-column p {
     padding-left: .5em;
     padding-left: .5em;
}
}
.mainpage .mainpage-column p {
.welcome .welcome-column p {
     text-indent: 2em;
     text-indent: 2em;
}
}
.mainpage-banner-page,
.welcome-banner-page,
.mainpage-page {
.welcome-page {
     position: relative;
     position: relative;
}
}
.mainpage-banner-page .mainpage-page-img {
.welcome-banner-page .welcome-page-img {
     height: 231px;
     height: 231px;
     width: auto;
     width: auto;
}
}
.mainpage-banner {
.welcome-banner {
     height: 250px;
     height: 250px;
     position: relative;
     position: relative;
     overflow: hidden;
     overflow: hidden;
}
}
.mainpage-banner-control {
.welcome-banner-control {
     position: absolute;
     position: absolute;
     bottom: 1em;
     bottom: 1em;
第100行: 第71行:
     z-index: 7;
     z-index: 7;
}
}
.mainpage-banner-control-triggle {
.welcome-banner-control-triggle {
     width: 18px;
     width: 18px;
     height: 18px;
     height: 18px;
第110行: 第81行:
     margin-left: 8px;
     margin-left: 8px;
}
}
.mainpage-banner-control-triggle.on {
.welcome-banner-control-triggle.on {
     border-color: white;
     border-color: white;
     background-color: rgba(139, 139, 34, .5);
     background-color: rgba(139, 139, 34, .5);
}
}
.mainpage-banner-page {
.welcome-banner-page {
     text-align: center;
     text-align: center;
     float: left;
     float: left;
}
}
.mainpage-counter {
.welcome-counter {
     background: url(https://www.hmoegirl.com/images/thumb/7/7a/64304271.png/689px-64304271.png) top right;
     background: url(https://www.hmoegirl.com/images/thumb/7/7a/64304271.png/689px-64304271.png) top right;
     background-repeat: no-repeat;
     background-repeat: no-repeat;
第126行: 第97行:
     display: flex;
     display: flex;
}
}
.mainpage-counter-container {
.welcome-counter-container {
     background: rgba(255, 255, 255, .6);
     background: rgba(255, 255, 255, .6);
     padding: .5em;
     padding: .5em;
     flex: 1;
     flex: 1;
}
}
.mainpage-ads {
/* <pre> */
     height: 410px;
.widgetTalkTocEnable #tocBox {
     overflow: auto;
    max-width: 37%;
    min-width: 300px;
    float: left;
}
.widgetTalkTocEnable #toc.noOrigin {
    display: table;
}
.widgetTalkTocEnable div.toc#toc {
    min-width: 300px;
    box-sizing: border-box;
    margin-right: 37px;
    padding-right: 1em;
    padding-left: 1em;
}
.widgetTalkTocEnable div.toc#toc div.toctitle h2 {
    margin-right: 1em;
}
.widgetTalkTocEnable div.toc.noOrigin#toc .toctoggle {
    display: none;
}
.widgetTalkTocEnable div#toc.toc #toctoggle,
.widgetTalkTocEnable div#toc.toc #toggle {
    font-size: 94%;
    -webkit-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.widgetTalkTocEnable div#toc.toc .toggleButton:before {
    content: "[";
    color: black;
}
.widgetTalkTocEnable div#toc.toc .toggleButton:after {
    content: "]";
    color: black;
}
.widgetTalkTocEnable #toc .toggleButton:first-child {
    margin-right: 0.5em;
}
.widgetTalkTocEnable div#toc.toc .toggleButton:last-child {
    margin-right: 0;
}
.widgetTalkTocEnable div#toc.toc .hiddenDiscussion {
    visibility: hidden;
     height: 0;
    margin: 0;
}
.widgetTalkTocEnable div.toc#toc li.savedDiscussion a {
    text-decoration: underline;
}
.widgetTalkTocEnable #toc div#tocText {
    text-align: center;
}
.widgetTalkTocEnable #toc div.tocText {
     display: inline-block;
}
/* 节操酱的beg */
.widgetTalkTocEnable #content ol,
.widgetTalkTocEnable #content ul {
    margin: 0 !important;
    padding: 0.3em 0 0 1.6em !important;
}
}
.mainpage-page-img {
.widgetTalkTocEnable #toc .toclevel-1>ul {
    padding-left: 0 !important;
}
.widgetTalkTocEnable
/* 由于节操酱的beg导致分类那边有秘制空白 */
.widgetTalkTocEnable #content #catlinks ol,
.widgetTalkTocEnable #content #catlinks ul {
    padding: 0 !important;
}
#toc,
#tocBox,
#talkTocBox {
    display: none;
}
.widgetTalkTocDisable #toc {
    display: table;
}
.widgetTalkTocEnable #talkTocBox td {
    text-align: center;
    border: 1px solid #a7d7f9;
    width: 25%;
    padding: 0 1em;
}
.widgetTalkTocEnable #talkTocBox .hr td {
     width: 100%;
     width: 100%;
}
}
.mainpage-page-intro {
.widgetTalkTocEnable #talkTocBox table {
     position: absolute;
     border-collapse: collapse;
    bottom: 0;
     margin-bottom: 1em;
    left: 0;
     margin: 0!important;
    padding: .5em;
    background-color: rgba(255, 255, 255, 0.73);
     width: 100%;
     width: 100%;
}
}
.widgetTalkTocEnable #talkTocBox a {
    cursor: pointer;
}
.widgetTalkTocEnable #talkTocBox .savedTitle {
    text-decoration: underline;
}
.widgetTalkTocEnable .cbutton {
    cursor: pointer;
}
.signInfo {
    display: none !important;
}
#right-navigation.no-need-to-edit-whole-page ul {
    display: flex;
}
#right-navigation.no-need-to-edit-whole-page ul>li {
    order: 999;
}
#right-navigation.no-need-to-edit-whole-page ul>li#ca-view {
    order: 1;
}
#right-navigation.no-need-to-edit-whole-page ul>li#ca-no-need-to-edit-whole-page-notice {
    order: 2;
    font-style: italic;
}
#right-navigation.no-need-to-edit-whole-page ul>li#ca-no-need-to-edit-whole-page-notice a,
#right-navigation.no-need-to-edit-whole-page ul>li#ca-no-need-to-edit-whole-page-notice a:visited {
    color: #222;
    text-decoration: none;
}
#right-navigation.no-need-to-edit-whole-page ul>li#Wikiplus-Edit-TopBtn,
#right-navigation.no-need-to-edit-whole-page ul>li#ca-edit,
#right-navigation.no-need-to-edit-whole-page ul>li#ca-editTopSection {
    display: none;
}
.cloaked-element.transparent-shield {
    z-index: 9999;
}
.navpopup {
    z-index: 1000;
}
/* </pre> */
</style>
</style>
<script>
<script>
window.RLQ = window.RLQ || [];
window.RLQ.push(function() {
window.RLQ.push(function() {
     window.RLQ = window.RLQ || [];
     if (location.hostname.includes("m.hmoegirl.com")) return;
     $(function() {
     mw.loader.using(["oojs-ui"]).then(function() {
         $(window).on('resize', function() {
         if (!mw.config.get('talkTocLoaded', false)) {
             $('.mainpage-banner-page').width($('.mainpage-banner').width());
             mw.config.set('talkTocLoaded', true);
        }).resize();
            if (!$('#talkTocBox')[0]) {
        var marginLeft = $('.mainpage').offset().left - $('.mainpage').parent().offset().left;
                if (localStorage.getItem('widgetTalkToc') === 'disable') {
        /* $('.mainpage').css('margin-left', marginLeft - (marginLeft - (($(window).width() - $('.mainpage').width()) / 2 - $('.mainpage').parent().offset().left)) / 2 + 'px'); // 计算合理的偏差,其中【($(window).width() - $('.mainpage').width()) / 2】用以计算主体居中时的实际offsetLeft值,减去父元素offset即是主体margin-left值,再用【marginLeft - (marginLeft - 主体margin-left值 / 2】来计算缓和后的margin-left值 */
                    $('body').addClass('widgetTalkTocDisable');
        var length = $('.mainpage-banner-page').length;
                    $('.toctitle').after('<' + 'div style="text-align: center;">[<' + 'a class="enableWidgetTalkToc">启用讨论页面整理工具<' + '/a>]<' + '/div>');
        if (!length) return;
                    $('.enableWidgetTalkToc').on('click', function() {
        $('.mainpage-banner-container').width(length);
                        localStorage.setItem('widgetTalkToc', 'enable');
        while (length--) $('.mainpage-banner-control').append('<span class="mainpage-banner-control-triggle"></span>');
                        $(this).text('启用成功!刷新页面中……');
        var bannerCount = 25;
                        setTimeout(location.reload.bind(location), 150);
        $('.mainpage-banner-control-triggle').on('click', function() {
                    });
            bannerCount = 25;
                    return;
            $(this).addClass('on').siblings().removeClass('on');
                }
            var index = $(this).parent().children().index(this);
 
            var target = $('.mainpage-banner-page').eq(index);
                $('body').addClass('widgetTalkTocEnable');
            var left = target.prevAll().length || 0;
                var toclist = ['tocBox', 'talkTocBox', 'toc'],
            if (left) $('.mainpage-banner-container').css('margin-left');
                    bgcolor = $('body').css('background-color'),
            else $('.mainpage-banner-container').css('margin-left', '0');
                    $toc = $('#toc'),
        }).first().click();
                    titlereg = {},
        setInterval(function() {
                    $tocBox, $level2, $li, $svdDcs, $title, $toggle, $tocText,
            if (bannerCount-- > 0) return;
                    appendToggleButton;
            var next = $('.mainpage-banner-control-triggle.on').next();
 
            if (!next.length) next = $('.mainpage-banner-control-triggle:first');
                /* 预处理 */
            next.click();
                //备份目录
         }, 200);
                $toc.after($toc.clone().hide().attr('id', 'tocClone'));
                //整理讨论串
                $('#mw-content-text > .mw-parser-output > h2').each(function() {
                    var head = $(this);
                    var container = $('<' + 'div/>');
                    container.addClass('discussionContainer');
                    head.addClass('discussionHead');
                    head.before(container);
                    head.nextUntil('h2').not('h2').appendTo(container);
                    head.prependTo(container);
                    if (container.find('.saveNotice')[0] && head.nextUntil(".saveNotice").length === 0) {
                        $toc.find('a[href="#' + head.find('.mw-headline')[0].id.replace(/"/g, '\\\"') + '"]').parent().addClass("savedDiscussion hiddenDiscussion");
                        container.addClass('savedDiscussion');
                    } else if (window.CSS && CSS.supports && CSS.supports('position', 'sticky')) {
                        head.css({
                            position: 'sticky',
                            top: 0,
                            'background-color': bgcolor,
                            'z-index': 2
                        });
                        container.css('position', 'relative');
                    }
                });
 
                // Temporary padding fix for Microsoft Edge
                // TODO: Report this issue to Edge team
                if (/Edge/.test(navigator.userAgent)) {
                    $('.discussionContainer').css('padding-top', '10px');
                }
 
                //整理标题列表
                $toc.append("<" + "ol style='margin-left: 1.7em;'><" + "/ol>").after('<' + 'div id="tocBox"><' + '/div>');
                $toc.children('ul').children().appendTo($toc.find('ol'));
                $toc.find(".toclevel-1 > a > .tocnumber").remove();
                $toc.appendTo("#tocBox");
 
                /* 定义变量 */
                $tocBox = $('#tocBox');
                $level2 = $toc.find('.toclevel-2').hide();
                $li = $toc.find('ol > li');
                $svdDcs = $toc.find('.savedDiscussion');
                $title = $toc.find('.toctitle').css("margin-right", "1em").append('<' + 'span id="toctoggle"><' + '/span>');
                $toggle = $title.append('<' + 'div id="toggle"><' + '/div>').find('#toggle');
                $tocText = $title.after('<' + 'div id="tocText"><' + '/div>').parents('#toc').find('#tocText');
                appendToggleButton = function($Obj, $set, shTx, hiTx, fun) {
                    if (!$Obj[0]) return false;
                    $set.append($('<' + 'a/>', {
                        text: function() {
                            if ($Obj.is(':visible')) return hiTx;
                            else return shTx;
                        },
                        'class': 'toggleButton',
                        href: 'javascript:void(0);',
                        bind: {
                            click: function() {
                                if ($Obj.is(':visible')) {
                                    $Obj.hide();
                                    $(this).text(shTx);
                                } else {
                                    $Obj.show();
                                    $(this).text(hiTx);
                                }
                            }
                        }
                    }));
                    if (typeof fun == 'function') fun();
                };
 
                /* 业务处理*/
                //添加存档讨论串标题toggle按钮
                if ($svdDcs[0]) {
                    $toggle.append($('<' + 'a/>', {
                        text: '显示已被存档标题',
                        'class': 'toggleButton',
                        href: 'javascript:void(0);',
                        on: {
                            click: function() {
                                if ($svdDcs.hasClass('hiddenDiscussion')) {
                                    $svdDcs.removeClass('hiddenDiscussion');
                                    $(this).text('隐藏已被存档标题');
                                } else {
                                    $svdDcs.addClass('hiddenDiscussion');
                                    $(this).text('显示已被存档标题');
                                }
                            }
                        }
                    }));
                    $tocText.append("<" + "div class='tocText'>(有下划线标题是已被存档标题)<" + "/div>");
                }
                //添加二三四五级标题toggle按钮和标题数量
                appendToggleButton($level2, $toggle, '显示段落', '隐藏段落', function() {
                    $tocText.append("<" + "div class='tocText'>(中括号内数字是该大段下小段数量)<" + "/div>");
                    $toc.find('.toclevel-1').each(function() {
                        var subtitleLength = $(this).find('.toctext').length - 1;
                        if (subtitleLength) $(this).children('a').after('[' + subtitleLength + ']');
                    });
                });
                //添加整体toggle按钮
                appendToggleButton($toc.find('ol'), $title.find('#toctoggle'), '显示', '隐藏');
                $('#toc').addClass('noOrigin');
                /*
                $('.saveNotice').each(function() {
                    $(this).prev('h2').addClass('savedNotice');
                });*/
                var containers = $('.discussionContainer');
                containers.first().before('<' + 'div id="talkTocBox"><' + 'table><' + '/table><' + '/div>');
                var self = $('#talkTocBox table'),
                    a = $('<' + 'a/>').text('');
                self.append('<' + 'caption/>').find('caption').append('<br/>').append('').append(a).append('')
                    .end().append('<' + 'tbody/>');
                containers.not('.savedDiscussion').each(function(i) {
                    if (i % 4 === 0) self.find('tbody:last').append('<' + 'tr/>');
                    var that = $(this);
                    /* var content = that.children().not('h2');
                    content.find('a').each(function() {
                        try {
                            var href = $(this)[0].href;
                            if (!href) return;
                            var link = new mw.Uri(href);
                            if (link.host !== 'www.moegirl.com') this.userNameErrorReason = "link.host !== 'www.moegirl.com'";
                            else if (/^\/api\.php/i.test(link.path)) this.userNameErrorReason = "!!/^\\/api\\.php/i.test(link.path)";
                            else if (!link.query.title && /\.php$/i.test(link.path)) this.userNameErrorReason = "!!(!link.query.title && /\\.php$/i.test(link.path))";
                            else {
                                var t = link.query.title || decodeURIComponent(link.path.substring(1));
                                if (/^user([ _]talk)?:[^\/]+$/i.test(t)) $(this).data('userName', t.replace(/^user([ _]talk)?:/i, '')).addClass('userTalkPage');
                                else this.userNameErrorReason = "!!/^user([ _]talk)?:[^\\/]+$/i.test(t)";
                            }
                        } catch (e) {
                            return;
                        }
                    });
                    content.find('.userTalkPage').each(function() {
                        var parent = $(this).closest(containers).clone();
                        var now = Date.now() + (Math.random() + '').substring(2);
                        parent.find('.userTalkPage').text(now);
                        var regExec = RegExp(now + '(.*)(\\d{4}年([1-9]|1[0-2])月([1-9]|[12]\\d|3[01])日\\s{0,10}\\([一二三四五六日]\\)\\s{0,10}([01]\\d|2[0-3]):[0-5]\\d\\s{0,10}(\\([A-Z]{3}\\))?)').exec(parent.text());
                        if (!regExec || regExec[1].length > 20) {
                            this.userNameErrorReason = 'Too far away from timestamp (' + (regExec ? regExec[1].length : 'null') + ')';
                            this.userNameErrorRegExec = regExec;
                            $(this).removeClass('userTalkPage');
                        } else $(this).data('userTalkTime', regExec[2]);
                    });
                    var userTalkPage = [];
                    content.find('.userTalkPage').each(function() {
                        var timestamp = $(this).data('userTalkTime').replace(/ \([A-Z]{3,4}\)$|\([日一二三四五六]\)/g, ''),
                            date = new Date(),
                            time = timestamp.split(/[年月日\s\(\)\:]+/).map(function(n) {
                                return +n;
                            });
                        if (!time || !time[4]) return $(this).removeClass('.userTalkPage')[0].userNameErrorReason = 'Error Timestamp(' + timestamp + ')';
                        date.setFullYear(time[0]);
                        date.setMonth(time[1] - 1);
                        date.setDate(time[2]);
                        date.setHours(time[3]);
                        date.setMinutes(time[4]);
                        userTalkPage.push([$(this).data('userName'), timestamp, date.getTime()]);
                    });
                    if (!userTalkPage[0]) userTalkPage.push(['Unsigned user/Nonstandard sign', 'Unknown Time']);
                    else userTalkPage.sort(function(a, b) {
                        return a[2] - b[2]
                    });
                    var firstName = userTalkPage[0],
                        lastName = userTalkPage[userTalkPage.length - 1];
                    titlereg[that.find('.mw-headline:first').attr('id')] = that;*/
                    self.find('tr:last').append('<' + 'td><' + '/td>')
                        .find('td:last').append(
                            $('<' + 'a/>').attr('href', '#' + that.find('.mw-headline:first').attr('id').replace(/"/g, "&quot;")).append(that.find('.mw-headline:first').clone().find('a').replaceWith(function() {
                                return $(this).text();
                            }).end().html())
                        );
                    /* .append(
                        $('<' + 'div/>').addClass('signInfo').append('话题发起:' + (firstName[0] === 'Unsigned user/Nonstandard sign' ? 'Unsigned user/Nonstandard sign' : '<' + 'a href="/User_talk:' + firstName[0] + '" title="' + firstName[0] + '的讨论页" target="_blank">' + firstName[0].replace(/_/g, ' ') + '<' + '/a>'))
                        .append('<' + 'br>最后回复:' + (lastName[0] === 'Unsigned user/Nonstandard sign' ? 'Unsigned user/Nonstandard sign' : '<' + 'a href="/User_talk:' + lastName[0] + '" title="' + lastName[0] + '的讨论页" target="_blank">' + lastName[0].replace(/_/g, ' ') + '<' + '/a>') + '(' + lastName[1] + ')')
                    ); */
                });
                /* if ($('.signInfo').filter(function() {
                        return $(this).text().indexOf('Unsigned user/Nonstandard sign') !== -1;
                    }).length * 2 > $('.signInfo').length) $('.signInfo').hide(); */
                self.append('<' + 'tbody class="hr"><' + 'tr><' + 'td colspan="4"> <' + '/td><' + '/tr><' + '/tbody>').append('<' + 'tbody/>').find('tbody').not(':first').hide();
                containers.filter('.savedDiscussion').each(function(i) {
                    if (i % 4 === 0) self.find('tbody:last').append('<' + 'tr/>');
                    self.find('tr:last').append('<' + 'td><' + 'a class="savedTitle" href="#' + $(this).find('.mw-headline:first').attr('id').replace(/"/g, "&quot;") + '">' + $(this).clone().find('.mw-headline:first').children('.mw-headline-number').remove().end().prepend(containers.index(this) + 1 + ' ').text() + '<' + '/a><' + '/td>');
                });
                a.on('click', function() {
                    self.find('tbody').not(':first').fadeToggle();
                    $(this).text($(this).text() === '显示已存档讨论串标题' ? '隐藏已存档讨论串标题' : '显示已存档讨论串标题');
                });
                self.find('tbody').not('.hr').each(function() {
                    var that = $(this).find('tr:last');
                    that.append(("<" + "td>&#32;<" + "/td>").repeat(4 - that.find("td").length));
                });
                $('#talkTocBox caption').append('').append($('<' + 'a/>').addClass('cbutton')).append('');
                $('#tocText').append('<' + 'br>').append($('<' + 'a/>').addClass('cbutton')).append('');
                $('.cbutton').on('click', function() {
                    if (!localStorage.wgTocStyle || localStorage.wgTocStyle !== 'list') {
                        $('#talkTocBox').hide();
                        $('#tocBox').show();
                        localStorage.setItem('wgTocStyle', 'list');
                        $('.cbutton').text('');
                        $(toclist.filter(function(l) {
                            return l !== "tocBox";
                        }).map(function(l) {
                            return 'a[href="#' + l + '"';
                        }).join(', ')).attr("href", "#tocBox");
                    } else {
                        $('#talkTocBox').show();
                        $('#tocBox').hide();
                        localStorage.setItem('wgTocStyle', 'table');
                        $('.cbutton').text('');
                        $(toclist.filter(function(l) {
                            return l !== "talkTocBox";
                        }).map(function(l) {
                            return 'a[href="#' + l + '"';
                        }).join(', ')).attr("href", "#talkTocBox");
                    }
                });
                if (!localStorage.wgTocStyle || localStorage.wgTocStyle !== 'list') {
                    $('#talkTocBox').show();
                    $('.cbutton').text('');
                    $(toclist.filter(function(l) {
                        return l !== "talkTocBox";
                    }).map(function(l) {
                        return 'a[href="#' + l + '"';
                    }).join(', ')).attr("href", "#talkTocBox");
                } else {
                    $('#tocBox').show();
                    $('.cbutton').text('');
                    $(toclist.filter(function(l) {
                        return l !== "tocBox";
                    }).map(function(l) {
                        return 'a[href="#' + l + '"';
                    }).join(', ')).attr("href", "#tocBox");
                }
                $('.cbutton').parent().append(' <' + 'a class="disableWidgetTalkToc"><' + '/a>');
                $('.disableWidgetTalkToc').on('click', function() {
                    localStorage.setItem('widgetTalkToc', 'disable');
                    $(this).text('禁用成功!刷新页面中……');
                    setTimeout(location.reload.bind(location), 150);
                });
                $tocBox.css({
                    position: 'relative',
                    'z-index': 10
                });
                $(window).on('hashchange', function(e) {
                    try {
                        var hash = location.hash.substring(1);
                        var target = $('[id="' + decodeURIComponent(hash).replace(/"/g, '\\\"') + '"]');
                        if (target[0]) {
                            var scrollTop = target.offset().top;
                            if (target.closest('.discussionHead').length === 0) {
                                var parent = target.closest('h1, h2, h3, h4, h5, h6');
                                if (parent.length > 0) {
                                    scrollTop -= parent.outerHeight(true) - parent.height();
                                    var h = parent.prevAll('h1, h2, h3, h4, h5, h6').filter(function() {
                                        return $(this).css('position') === 'sticky';
                                    });
                                    if (h.length > 0) scrollTop -= h.outerHeight();
                                }
                            } else scrollTop = target.closest('.discussionContainer').offset().top;
                            setTimeout(function() {
                                $('html,body').animate({
                                    scrollTop: scrollTop
                                }, 0);
                            }, 1);
                            return false;
                        }
                    } catch (e) {
                        return;
                    }
                }).trigger('hashchange');
                const g = ["sysop", "patroller"];
            }
         }
     });
     });
});
});
</script><!--{/if}--></includeonly>
</script>
<!--{/if}--></includeonly>

2021年8月5日 (四) 16:52的版本

QvQ