MediaWiki:Mobile.js:修订间差异

H萌娘,万物皆可H的百科全书!
跳到导航 跳到搜索
imported>=海豚=
无编辑摘要
imported>=海豚=
(同步自萌百2020.04.11版本)
第1行: 第1行:
// <pre>
// <pre>
/* 这里的任何JavaScript将只在移动端加载 
/* 这里的任何JavaScript将只在移动端加载 */
* 请尊重H萌娘版权,以下代码复制需要注明原自H萌娘,并且附上URL地址http://www.hmoegirl.com/MediaWiki:Common.js
* 版权协定:知识共享 署名-非商业性使用-相同方式共享 3.0
*/
(function($, mw) { //使用匿名函数以避免污染顶级变量
(function($, mw) { //使用匿名函数以避免污染顶级变量
    /* 函数定义体 */
    /* 函数定义体 */

2020年4月14日 (二) 23:00的版本

// <pre>
/* 这里的任何JavaScript将只在移动端加载 */
(function($, mw) { //使用匿名函数以避免污染顶级变量
    /* 函数定义体 */
    //用户资料页相关
    function isUserProfile() {
        return mw.config.get('wgCanonicalSpecialPageName') === "UserProfile" && mw.config.get('wgArticleId') === "0";
    }
    //页顶提示模板相关
    function commonBoxs() {
        if (window.mw && !!mw.config.get('wgNamespaceNumber')) return;
        var contentParent = $('#mw-content-text')[0] ? $('#mw-content-text') : $('#content'),
            commonBoxes = contentParent.find('.common-box');
        if (!commonBoxes[0]) return;
        var commonBoxContainer = $('<div id="commonBoxContainer"><div id="commonBoxInfo"></div></div>').prependTo(contentParent),
            commonBoxList = $('<div id="commonBoxList"></div>').appendTo('#commonBoxInfo');
        commonBoxes.each(function() {
            var commonBoxButton = $('<div class="commonBoxButton"></div>').appendTo(commonBoxList),
                commonBox = $(this);
            commonBoxButton.data('element', commonBox).css({
                'border-color': commonBox.css('border-left-color'),
                'background-image': 'url(' + commonBox.find('tbody > tr > td:first-child img').prop('src') + ')',
            }).on('click', function() {
                if (commonBox.is(':visible')[0]) {
                    commonBoxes.hide();
                    $(this).add($(this).siblings()).removeClass('current');
                    commonBoxList.removeClass('open');
                } else {
                    commonBoxes.filter(':visible').not(commonBox).hide();
                    commonBox.show();
                    $(this).toggleClass('current', commonBox.is(':visible')).siblings().removeClass('current');
                    commonBoxList.toggleClass('open', commonBox.is(':visible'));
                }
            });
        }).appendTo(commonBoxContainer).hide();
    }
    //uuid
    function uuidv4() {
        var result;
        do {
            result = ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, function(c) {
                return (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16);
            });
        } while (document.querySelector('a[data-linkid="' + result + '"]'));
        return result;
    }
// Mobile Navmenu by GFwiki
function menuadjust(){var a = $("body").height()+"px";document.getElementById("mw-mf-page-left").style.height = a;};
$(function(){menuadjust();});
$(window).resize(function(){menuadjust()});
var navbar = function(data, textStatus, jqxhr) {
    var navlist = data.parse.text["*"];
	$(navlist).insertBefore(".menu > .hlist")
  };
var mfSidebar = function() {
    var purl = "/api.php?action=parse&page=MediaWiki:MFSidebar&format=json";
    $.ajax({
      url: purl,
      success: navbar,
      error: function () {console.error("can\'t load customized navmenu")},
      dataType: "json"
    });
  };
$(function(){mfSidebar();});
    /* 函数执行体 */
    $(function() {
        //页顶提示模板相关
        commonBoxs();
        //用户资料页
        if (isUserProfile()) {
            var cardContainer = $('.card-container'),
                containerImage = cardContainer.find('.card'),
                containerImageFile = containerImage.find('a.image'),
                containerImageCaption = containerImage.find('.caption');
            containerImageCaption.css("padding", "0 8px");
            containerImageFile.before('<div id="#containerImage" class="listThumb list-thumb-placeholder" style="text-align: center;"><img src="http://static.mengniang.org/common/a/a4/Placeholder-upload.png" style="height:32px" /></div>');
        }
        //黑幕
        $('.heimu a').on("click", function() {
            if (!$(this).closest('.heimu').is(':active, :focus')) return false;
        });
        //Template:hide
        if ($('.mw-collapsible')[0]) mw.loader.using('jquery.makeCollapsible').then(function() {
            //console.debug('jquery.makeCollapsible is loaded.');
            $('.mw-collapsible').makeCollapsible();
        });
    });
})(jQuery, mediaWiki); //立即执行匿名函数并传递原始变量
// </pre>