User:AnYiLin/common.js

维基百科,自由的百科全书

注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。

window.LocalComments = {
  // 本地时间小工具24小时制
  twentyFourHours: true
};
window.LocalComments.disablePages = function () {
  // 本地时间小工具黑名单
  if (RLCONF.wgDiffOldId !== undefined) return true;
  return false;
};

/*
mw.loader.load('https://wikiplus-app.com/Main.min.js');
mw.loader.load('/wiki/MediaWiki:Gadget-PatrollCount.js?action=raw&ctype=text/javascript'); // 未巡查统计
mw.loader.load('/wiki/User:94rain/js/Gadget-afchelper.js?action=raw&ctype=text/javascript'); // 审核草稿
mw.loader.load('/wiki/User:Former User aDB0haVymg/gadgets/close-anx.js?action=raw&ctype=text/javascript'); // 关闭anx
mw.loader.load('/wiki/User:TheJosh/NewPagePatroller.js?action=raw&ctype=text/javascript'); // 新页面统计
mw.loader.load('/wiki/User:Vozhuo/Tool/MOSNUM dates.js?action=raw&ctype=text/javascript'); // 修正日期格式
*/

if (RLCONF.wgAction === 'history') mw.loader.load('/wiki/User:WhitePhosphorus/js/rrd.js?action=raw&ctype=text/javascript'); // 提交rrd
if (RLCONF.wgAction === 'view' && !document.body.classList.contains('skin-minerva') && (RLCONF.wgPageName.indexOf('用户贡献') !== -1 || RLCONF.wgPageName.indexOf('使用者貢獻') !== -1)) mw.loader.using(['ext.gadget.site-lib', 'mediawiki.Uri', 'mediawiki.util']).then(function () {
  if (mw.util.getParamValue('mass-rollback') === null) {
    mw.util.addPortletLink('p-cactions', '#', wgULS('显示批量回退', '顯示批量回退'), 'ca-massrollback').addEventListener('click', function (e) {
      e.preventDefault();
      location.replace(new mw.Uri().extend({
        'mass-rollback': '1'
      }).toString());
    });
  } else {
    mw.loader.load('/wiki/User:Xiplus/js/mass-rollback.js?action=raw&ctype=text/javascript'); // 批量回退
  }
});

if (RLCONF.wgAction === 'view' && RLCONF.wgIsArticle && RLCONF.wgCurRevisionId !== 0 && RLCONF.wgRevisionId !== 0 && RLCONF.wgCurRevisionId === RLCONF.wgRevisionId) {
  if (RLCONF.wgPageName === 'Wikipedia:防滥用过滤器/错误报告') mw.loader.load('/wiki/User:Xiplus/js/close-affp.js?action=raw&ctype=text/javascript'); // 关闭affp
  if (RLCONF.wgPageName === 'Wikipedia:当前的破坏') mw.loader.load('/wiki/User:Xiplus/js/close-vip.js?action=raw&ctype=text/javascript'); // 关闭vip
  if (/^MediaWiki:[^/]+(\/zh)?$/.test(RLCONF.wgPageName)) mw.loader.load('/wiki/User:Xiplus/js/TranslateVariants.js?action=raw&ctype=text/javascript'); // 自动转换变体
  if (!/wikimirror\.net$/.test(location.host)) mw.loader.load('/wiki/User:AnYiLin/js/ArticleInfo.js?action=raw&ctype=text/javascript'); // 页面浏览量
  mw.loader.load('/wiki/User:AnYiLin/js/PurgePageCache.js?action=raw&ctype=text/javascript'); // 清除缓存
}

// mw.loader.load('/wiki/User:AnYiLin/js/CheckEligibility.js?action=raw&ctype=text/javascript'); // 查询人事票资格

$(function () {
  // 调用2010编辑器(基于Timeless皮肤)
  if (document.body.classList.contains('skin-timeless') && !RLCONF.wgPageName.match(/\S+\.(css|js|json)$/) && ($('#ca-edit').length > 0 || $('#ca-ve-edit').length > 0) && $('#ca-history').length > 0) {
    mw.loader.using(['ext.gadget.site-lib', 'mediawiki.Uri']).then(function () {
      var style = document.createElement('style'),
        text = wgULS('通过2010编辑器编辑', '通過2010編輯器編輯', undefined, '透過2010編輯器編輯'),
        title = wgULS('通过2010编辑器编辑本页', '通過2010編輯器編輯本頁', undefined, '透過2010編輯器編輯本頁'),
        dom = '<li id="ca-2010-edit"><a href="' + new mw.Uri().extend({
          action: 'submit'
        }).toString() + '" title="' + title + '">' + text + '</a></li>';
      style.id = 'css-common';
      if ($('#ca-addsection').length > 0) {
        style.appendChild(document.createTextNode('@media screen and (max-width:1638px) and (min-width:1232px){#mw-page-header-links{font-size:.8em}}@media screen and (max-width:1232px) and (min-width:850px){#mw-page-header-links{font-size:.2em}}'));
        $('#ca-addsection').before(dom);
      } else {
        style.appendChild(document.createTextNode('@media screen and (max-width:1538px) and (min-width:1392px){#mw-page-header-links{font-size:.8em}}@media screen and (max-width:1392px) and (min-width:1099px){#mw-page-header-links{font-size:.2em}}@media screen and (max-width:1051px) and (min-width:904px){#mw-page-header-links{font-size:.8em}}@media screen and (max-width:904px) and (min-width:850px){#mw-page-header-links{font-size:.2em}}'));
        $('#ca-history').before(dom);
      }
      document.head.appendChild(style);
    });
  }
});
$(function () {
  // 让Template:ilh有和en:Template:Further_ill类似的效果
  setTimeout(function () {
    mw.hook('wikipage.content').add(function ($item) {
      if ($item.attr('id') === 'mw-content-text') {
        $('.ilh-all').each(function () {
          $(this).find('.ilh-page').append($('<sup>').append('[').append($('<a>').attr({
            href: $(this).find('.ilh-link>a').attr('href'),
            title: $(this).data('foreign-title'),
            target: '_blank'
          }).addClass('extiw').text($(this).data('lang-code'))).append(']').css('user-select', 'none'));
        });
      }
    });
  }, 500);
});
(function () {
  // 让Gadget-Wordcount支持触屏
  function bytecount(text) {
    text = text.replace(/[\u0000-\u007F]/g, '.');
    text = text.replace(/[\u0080-\u07FF\uD800-\uDFFF]/g, '..');
    text = text.replace(/[\u0800-\uD7FF\uE000-\uFFFF]/g, '...');
    return text.length;
  }
  function cjkcount(text) {
    text = text.replace(/\./g, '');
    text = text.replace(/[\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u3005\u3007\u3021-\u3029\u3038-\u303B\u3400-\u4DB5\u4E00-\u9FCC\uF900-\uFA6D\uFA70-\uFAD9]|[\uD840-\uD868][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|[\uD86A-\uD86C][\uDC00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D]|\uD87E[\uDC00-\uDE1D]/g, '.');
    text = text.replace(/[^.]/g, '');
    return text.length;
  }
  function getwcbytext(text) {
    return text.length + ' character(s) (' + cjkcount(text) + ' CJK)<br>' + bytecount(text) + ' byte(s) in <a href="' + mw.config.get('wgScript') + '?title=UTF-8">UTF-8</a> encoding';
  }
  function getsel() {
    return getSelection().toString();
  }
  function dowc() {
    $('.wordcount').remove();
    var text = getsel();
    if (text.length === 0) return;
    var divj = $('<div>').html(getwcbytext(text)).css({
      position: 'fixed',
      right: '0',
      bottom: '0',
      margin: '4px',
      padding: '6px'
    }).addClass('wordcount ui-state-highlight ui-corner-all').appendTo('body');
    setTimeout(function () {
      divj.fadeOut('slow');
    }, 5000);
  }
  'ontouchstart' in document ? $(document).on('touchstart touchend', dowc) : $(document).on('mouseup', dowc).on('keyup', dowc);
})();