微件:Collapsible-block/lazyload/head

<script> (window.RLQ=window.RLQ||[]).push(function() { mw.loader.load('ext.tabberNeue'); }); function deploy(a, pageName) {

   var str;
   pageName = pageName.replace(/gantamadeshuangyinhao/g, '\"');
   var p = a.parentNode;
   p.style.display = "none";
   p.parentNode.getElementsByClassName("collapsible-block-unfolded")[0].style.display = "block";
   p.parentNode.getElementsByClassName("collapsible-block-unfolded")[0].getElementsByClassName("collapsible-block-unfolded-link")[0].style.display = "block";
   p.parentNode.getElementsByClassName("collapsible-block-unfolded")[0].getElementsByClassName("collapsible-block-content")[0].style.display = "block";
   if (p.parentNode.getElementsByClassName("collapsible-block-unfolded")[0].getElementsByClassName("collapsible-block-content")[0].innerHTML.length == 0) {
       p.parentNode.getElementsByClassName("collapsible-block-unfolded")[0].getElementsByClassName("collapsible-block-content")[0].innerHTML = "Loading...";
       var api = new mw.Api();
       $(document).ajaxSuccess(function (e, xhr, opt) {
           if (opt.url.indexOf("makeCollapsible.js") != -1) {
               console.log("makeCollapsible.js loaded");
               $(".mw-collapsible").makeCollapsible();
           } else if (opt.url.indexOf("tablesorter.js") != -1) {
               console.log("tablesorter.js loaded");
               $(".sortable").tablesorter();
           } else if (opt.url.indexOf("tabber.js") != -1) {
               console.log("tabber.js loaded");
           };
       });
       if (!!!mw.config.get('wgMFMode')) {
           api.get({
               "action": "parse",
               "format": "json",
               "page": pageName
           }).done(function (data) {
               p.parentNode.getElementsByClassName("collapsible-block-unfolded")[0].getElementsByClassName("collapsible-block-content")[0].innerHTML = data.parse.text["*"];
               try {
                   mw.loader.using('jquery.makeCollapsible').then(function () { $(".mw-collapsible").makeCollapsible(); });
               } catch (err) {
                   console.log(err);
                   $.getScript("/resources/src/jquery/jquery.makeCollapsible.js");
               }
               try {
                   mw.loader.using('jquery.tablesorter').then(function () { $(".sortable").tablesorter(); });
               } catch (err) {
                   console.log(err);
                   $.getScript("/resources/src/jquery/jquery.tablesorter.js");
               }
               try {
                   $(".tabber:not('.tabberlive')").tabber();
               } catch (err) {
                   console.log(err);
                   $.getScript("//media.fgo.wiki/wiki/8/tabber.js");
               }
               var toc = $(p.parentNode.getElementsByClassName("collapsible-block-unfolded")[0].getElementsByClassName("collapsible-block-content")[0].getElementsByClassName("mw-parser-output")[0].getElementsByClassName("toc")[0]);
               if (!toc.hasClass('toc-custom-disable')) {
                   var tocAfter = toc.clone().addClass('toc-custom');
                   toc.after(tocAfter);
                   tocAfter.css('marginRight', -Math.min(tocAfter.outerWidth(), 347));
               }
           }).catch(function (err) {
               p.parentNode.getElementsByClassName("collapsible-block-unfolded")[0].getElementsByClassName("collapsible-block-content")[0].innerHTML = "加载失败:" + err;
           });
       } else {//移动端
           api.get({
               "action": "parse",
               "format": "json",
               "mobileformat": true,
               "page": pageName
           }).done(function (data) {
               p.parentNode.getElementsByClassName("collapsible-block-unfolded")[0].getElementsByClassName("collapsible-block-content")[0].innerHTML = data.parse.text["*"];
               /**				var hl=$(".section-heading").find("a");
                               for(var i=0;i<hl.length;hl++){
                                   hl[i].href="/index.php?title="+pageName+"&action=edit&section="+hl[i].dataset.section;	
                               }
               **/
               var jb = $(p.parentNode.getElementsByClassName("collapsible-block-unfolded")[0].getElementsByClassName("collapsible-block-content")[0]);
               jb.find(".mw-ui-icon.mw-ui-icon-element.mw-ui-icon-minerva-edit-enabled.edit-page").remove();
               jb.find(".section-heading").click(function () { mobileClickTitle(this) });
               jb.find(".section-heading").addClass("collapsible-heading open-block");
               jb.find(".section-heading").next().addClass("collapsible-block open-block");
               jb.find(".mw-ui-icon.mw-ui-icon-element.indicator").addClass("mw-ui-icon-mf-arrow  mf-mw-ui-icon-rotate-flip");
               jb.find(".section-heading.collapsible-heading.open-block").trigger('click')
               try {
                   mw.loader.using('jquery.makeCollapsible').then(function () { $(".mw-collapsible").makeCollapsible(); });
               } catch (err) {
                   console.log(err);
                   $.getScript("/resources/src/jquery/jquery.makeCollapsible.js");
               }
               /**移动端都没有tablesorter
                               try{
                                   mw.loader.using('jquery.tablesorter').then(function(){$(".sortable").tablesorter();});
                               }catch(err){
                                   console.log(err);
                                   $.getScript("/resources/src/jquery/jquery.tablesorter.js");
                               }
               **/
               try {
                   $(".tabber:not('.tabberlive')").tabber();
               } catch (err) {
                   console.log(err);
                   $.getScript("//media.fgo.wiki/wiki/8/tabber.js");
               }
               var toc = $(p.parentNode.getElementsByClassName("collapsible-block-unfolded")[0].getElementsByClassName("collapsible-block-content")[0].getElementsByClassName("mw-parser-output")[0].getElementsByClassName("toc")[0]);
               if (!toc.hasClass('toc-custom-disable')) {
                   var tocAfter = toc.clone().addClass('toc-custom');
                   toc.after(tocAfter);
                   tocAfter.css('marginRight', -Math.min(tocAfter.outerWidth(), 347));
               }
           }).catch(function (err) {
               p.parentNode.getElementsByClassName("collapsible-block-unfolded")[0].getElementsByClassName("collapsible-block-content")[0].innerHTML = "加载失败:" + err;
           });
       }
   }

} function collapse(a) {

   var p = a.parentNode;
   p.style.display = "none";
   p.parentNode.getElementsByClassName("collapsible-block-content")[0].style.display = "none";
   p.parentNode.parentNode.getElementsByClassName("collapsible-block-folded")[0].style.display = "block";

} function mobileClickTitle(d) {

   if ($(d).hasClass("open-block")) {
       $(d).removeClass("open-block");
       $(d).children("div").removeClass("mf-mw-ui-icon-rotate-flip");
       $(d).next().removeClass("open-block");
   } else {
       $(d).addClass("open-block");
       $(d).children("div").addClass("mf-mw-ui-icon-rotate-flip");
       $(d).next().addClass("open-block");
   }

} </script> <style>.collapsible-block-folded a.collapsible-block-link {

 display: inline-block;
 padding: 4px 8px;
 border-radius: 4px;
 background-color: #4487DF;
 color: white;
 text-decoration: none !important;

}

.collapsible-block-unfolded a.collapsible-block-link {

 display: inline-block;
 padding: 4px 8px;
 border-radius: 4px;
 background-color: #E7615C;
 color: white;
 text-decoration: none !important;

}

</style>