MCBBS Wiki欢迎您共同参与编辑!在参与编辑之前请先阅读Wiki方针

如果在编辑的过程中遇到了什么问题,可以去讨论板提问。

为了您能够无阻碍地参与编辑 未验证/绑定过邮箱的用户,请尽快绑定/验证

MCBBS Wiki GitHub群组已上线!

您可以在回声洞中发表吐槽!

服务器状态监控。点击进入

本站由MCBBS用户自行搭建,与MCBBS及东银河系漫游指南(北京)科技有限公司没有从属关系。点此了解 MCBBS Wiki 不是什么>>

Gadget:disuse.js

来自MCBBS Wiki
跳到导航 跳到搜索
(function () {
  var mwConfigValue = window.mw.config.values;
  var userName = mwConfigValue.wgUserName;
  var nameSpace = mwConfigValue.wgNamespaceNumber;
  function loginForViewNameSpace(nameSpaceID) {
    if (!userName) {
      if (nameSpaceID.indexOf(nameSpace) !== -1) {
        // document.getElementById('bodyContent')
        window.location.replace("https://mcbbs.wiki/wiki/特殊:用户登录");
      }
    } else {
      document.body.classList.add("mcbbswiki-user-online");
    }
  }
  function addCSS(str, type) {
    if (type === 0) {
      var sty = document.createElement("style");
      sty.textContent = str;
      document.head.appendChild(sty);
    } else {
      var link = document.createElement("link");
      link.rel = "stylesheet";
      link.href = str;
      document.head.appendChild(link);
    }
  }
  /**
   * 添加水印到页面上
   * @param str 显示的字符
   */
  function waterMark(str, p) {
    var _a, _b, _c, _d;
    var picW =
        (_a = p === null || p === void 0 ? void 0 : p.width) !== null &&
        _a !== void 0
          ? _a
          : 480,
      picH =
        (_b = p === null || p === void 0 ? void 0 : p.height) !== null &&
        _b !== void 0
          ? _b
          : 320,
      fsize =
        (_c = p === null || p === void 0 ? void 0 : p.fsize) !== null &&
        _c !== void 0
          ? _c
          : 40,
      fbold =
        (_d = p === null || p === void 0 ? void 0 : p.bold) !== null &&
        _d !== void 0
          ? _d
          : true;
    // 用CSS控制
    addCSS(
      '\n/**/\n#watermark {\n    position: fixed;\n    top: -21vw;\n    left: -21vh;\n    width: calc(100vw + 42vh);\n    height: calc(100vh + 42vw);\n    opacity: .25;\n    transform-origin: 50% 50%;\n    transform: rotate(-45deg);\n    pointer-events: none;\n    z-index: 999;\n}\n#watermark .watermark{\n    position: absolute;\n    top: 0; bottom: 0; left: 0; right: 0;\n    background-image: url("' +
        textToImg(str) +
        '");\n}\n#watermark .watermark:first-child {\n    top: -' +
        picH / 2 +
        "px;\n    left: -" +
        picW / 2 +
        "px;\n}\n",
      0
    );
    var container = document.createElement("div"),
      m1 = document.createElement("div"),
      m2 = document.createElement("div");
    container.id = "watermark";
    m1.className = "watermark";
    m2.className = "watermark";
    container.appendChild(m1);
    container.appendChild(m2);
    document.body.appendChild(container);
    /**
     * 生成水印图片
     * @param str 输入的文字
     * @returns 字符串,图片的BASE64格式
     */
    function textToImg(str) {
      // 构造一个绘图区域
      var canvas = document.createElement("canvas");
      canvas.width = picW;
      canvas.height = picH;
      document.body.appendChild(canvas);
      // 绘图
      var context = canvas.getContext("2d");
      context.fillStyle = "#fff0";
      context.fillRect(0, 0, picW, picH);
      context.fillStyle = "#999";
      context.font = (fbold ? "bold " : "") + fsize + "px sans-serif";
      context.textAlign = "center";
      context.textBaseline = "middle";
      context.fillText(str, picW / 2, picH / 2);
      // 获取图片
      var res = canvas.toDataURL("image/png");
      // 清除绘图区域
      document.body.removeChild(canvas);
      // 返回图片
      return res;
    }
  }
  // 登录方能访问的名字空间
  // loginForViewNameSpace([3100]);
  // 水印设置
  if (nameSpace === 3100) waterMark("页面废存");
})();