打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
登录后可编辑和发表评论。

MediaWiki:Gadget-sidebarHidden.js

MediaWiki界面页面

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

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl + F5Ctrl + R(Mac为 R
  • Google Chrome:Ctrl + Shift + R(Mac为 Shift R
  • Edge:按住Ctrl的同时单击刷新,或按Ctrl + F5
/* <pre> */

"use strict";
$(function () {
    if (mw.config.get("skin") !== "vector" || mw.config.get("wgCanonicalSpecialPageName") === "Blankpage"
        || getComputedStyle(document.body).direction !== "ltr") {
        return;
    }
    var localObjectStorage = new LocalObjectStorage("AnnTools-SidebarHidden");
    var hidden = localObjectStorage.getItem("hidden");
    var generateImageObject = function (svg) { return URL.createObjectURL(new Blob([svg], { type: "image/svg+xml" })); };
    var arrowRightSvg = generateImageObject("<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 48\"><polygon fill=\"#2196F3\" points=\"17.1,5 14,8.1 29.9,24 14,39.9 17.1,43 36,24\"/></svg>");
    var arrowLeftSvg = generateImageObject("<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 48\"><polygon fill=\"#2196F3\" points=\"30.9,43 34,39.9 18.1,24 34,8.1 30.9,5 12,24\"/></svg>");
    var $body = $(document.body);
    $(document.documentElement).addClass("sidebarHiddenOn");
    var $mwNavigation = $("#mw-navigation");
    var $mwWikiLogo = $(".mw-wiki-logo");
    var $logoLink = $mwWikiLogo.clone(false);
    var $arrow = $("<span>").attr("id", "sidebarHidden-arrow");
    var $arrowLeft = $("<img>").attr({
        id: "sidebarHidden-arrow-left",
        src: arrowLeftSvg
    });
    var $arrowRight = $("<img>").attr({
        id: "sidebarHidden-arrow-right",
        src: arrowRightSvg
    });
    $arrow.append($arrowLeft).append($arrowRight);
    $logoLink.empty().removeAttr("class").attr("id", "sidebarHidden-logo-link");
    var hide = function () {
        hidden = true;
        $body.addClass("sidebarHidden");
        localObjectStorage.setItem("hidden", hidden);
    };
    var show = function () {
        hidden = false;
        $body.removeClass("sidebarHidden");
        localObjectStorage.setItem("hidden", hidden);
    };
    $mwNavigation.append($arrow).append($logoLink);
    if (hidden) {
        hide();
    }
    $arrow.on("click", function () {
        (hidden ? show : hide)();
    });
}); 

/* </pre> */