MediaWiki:Mobile.js:修订间差异

跳到导航 跳到搜索
添加7,544字节 、​ 2020年3月18日 (星期三)
无编辑摘要
imported>=海豚=
无编辑摘要
imported>=海豚=
无编辑摘要
第171行: 第171行:
      }).appendTo(commonBoxContainer).hide();
      }).appendTo(commonBoxContainer).hide();
    }
    }
   //链接提示
   function linkConfirm() {
     mw.loader.using('mediawiki.Uri').then(function () {
       if ($('body').css('position') === 'static') $('body').css('position', 'relative');
       var prompt = $('<div/>').attr('class', 'linkConfirmprompt');
       prompt.css('max-width', $('#mw-content-text').width() - 4);
       var textnode = $('<div/>').attr('class', 'linkConfirmpromptTextnode');
       var text = $('<span/>');
       textnode.append(text);
       var check = window.CSS && CSS.supports && CSS.supports('-webkit-line-clamp', '2') ? (function () {
         text.css({
           display: '-webkit-box',
           '-webkit-line-clamp': '2',
           '-webkit-box-orient': 'vertical',
           'word-break': 'break-all',
           'text-overflow': 'ellipsis',
           overflow: 'hidden',
         });
         return $.noop;
       })() : function (text) {
         if (text.height() > 44.8) {
           text.text(text.text() + '……');
           while (text.height() > 44.8) {
             text.text(text.text().slice(0, -3) + '……');
           }
         }
       };
       prompt.append('您点击了一个链接,地址为:')
         .append(textnode)
         .append($('<div/>').attr('class', 'linkConfirmpromptAlert').append('此网页不属于本网站,不保证其安全性').hide());
       prompt.append($('<a/>').text('继续访问').on('click', function () {
         window.open(prompt.data('href'), '_blank');
       }))
         .append($('<a/>').text('取消'))
         .on('click', function (e) {
           if (!$(e.target).is('a')) return false;
           prompt.fadeOut(137);
         });
       prompt.appendTo('body');
       $('#mw-content-text').on('click', function (e) {
         var self = $(e.target);
         if (!self.is("a")) return;
         if (!e.target.href || /^javascript:/.test(e.target.href) || $(e.target).is('.image')) return true;
         if (!e.target.dataset.linkid) e.target.dataset.linkid = (Math.random() + '').replace(/\D/g, '');
         if (prompt.is(':visible') && prompt.data('linkid') === e.target.dataset.linkid) return false;
         $('.linkConfirmprompt a:last').click();
         var uri = new mw.Uri(e.target.href);
         if (/\.moegirl\.org$/.test(uri.host)) {
           if (!self.closest('.heimu')[0]) return true;
           text.text(decodeURI(self.attr('href')));
           $('.linkConfirmpromptAlert').hide();
         } else {
           text.text(uri);
           $('.linkConfirmpromptAlert').show();
         }
         var promptTop = 0,
           promptLeft = 0;
         var offsetParent = self;
         do {
           promptTop += offsetParent.offset().top;
           promptLeft += offsetParent.offset().left;
           offsetParent = offsetParent.offsetParent();
         } while (!offsetParent.is("html, body"));
         promptTop += self.outerHeight() + 3;
         promptLeft += self.outerWidth() / 2 - prompt.outerWidth() / 2;
         if (promptTop + prompt.outerHeight() > $(document).height() - 3) promptTop = $(document).height() - prompt.outerHeight() - 3;
         if (promptLeft + prompt.outerWidth() > $(window).width() - 3) promptLeft = $(window).width() - prompt.outerWidth() - 3;
         if (promptLeft < 0) promptLeft = 3;
         prompt.css({
           top: promptTop + 'px',
           left: promptLeft + 'px',
         });
         window.setTimeout(check, 0, text);
         prompt.data({
           href: uri,
           linkid: self[0].dataset.linkid,
         });
         prompt.fadeIn(137);
         return false;
       });
     });
   }
   function antiAbuseListener(textarea, event) {
     var filters = [
       "{{即将删除",
       "{{即將刪除",
       "{{挂删",
       "{{模板:即将删除",
       "{{模板:即將刪除",
       "{{template:即将删除",
       "{{template:即將刪除",
       "[[分类:即将删除的页面",
       "[[分類:即將刪除的頁面",
       "[[category:即将删除的页面",
       "[[category:即將刪除的頁面",
       "{{文件转移到萌娘共享",
       "{{文件轉移到萌娘共享",
       "{{模板:文件转移到萌娘共享",
       "{{模板:文件轉移到萌娘共享",
       "{{template:文件转移到萌娘共享",
       "{{template:文件轉移到萌娘共享",
       "[[分类:需要删除执行员删除的页面",
       "[[分類:需要刪除執行員刪除的頁面",
       "[[category:需要删除执行员删除的页面",
       "[[category:需要刪除執行員刪除的頁面",
     ];
     var text1 = textarea.value;
     text1 = text1.replace(/\<\/?(?:nowiki|noinclude)\>/g, '');
     text1 = text1.replace(/\<(onlyinclude|includeonly)\>.*?\<\/\1\>/g, '');
     var text2 = textarea.value;
     text2 = text2.replace(/\<\/?(?:onlyinclude|includeonly)\>/g, '');
     text2 = text2.replace(/\<(nowiki|noinclude)\>.*?\<\/\1\>/g, '');
     var results = [];
     for (var i = 0, l = filters.length; i < l; i++) {
       var regExp = new RegExp(filters[i].replace(/\[/g, '\\['), "i");
       if (regExp.test(text1) || regExp.test(text2)) results.push(filters[i]);
     }
     if (results.length > 0) {
       var messageDialog = new OO.ui.MessageDialog();
       var windowManager = new OO.ui.WindowManager();
       $("body").append(windowManager.$element);
       windowManager.addWindows([messageDialog]);
       messageDialog.title.$label.html("H萌娘提醒您<br>您的编辑包含禁止内容!");
       messageDialog.message.$label.html("<br>您提交的内容包含以下部分,被禁止提交:<br><br><ul>" + results.map(function (result) {
         return "<li>" + result + "</li>";
       }).join("") + '</ul><br><br>如果您认为您的编辑无误,请在自行保存编辑内容后到<a target="_blank" rel="nofollow noreferrer noopener" class="external text" href="https://www.hmoegirl.com/Talk:讨论版">提问求助区</a>提问。');
       windowManager.openWindow(messageDialog, {
         actions: [{
           action: 'accept',
           label: '我知道了',
           flags: 'primary',
         }],
       });
       event.preventDefault();
       event.stopImmediatePropagation();
       event.stopPropagation();
       return false;
     }
   }
   function antiAbuse(textarea, submitButton, form) {
     mw.loader.using(["oojs-ui"]).then(function () {
       var captureSupported = false;
       try {
         var options = Object.defineProperty({}, "capture", {
           get: function () {
             captureSupported = true;
           },
         });
         window.addEventListener("test", null, options);
       } catch (err) { /* */ }
       if (submitButton) {
         submitButton.addEventListener("click", function (e) {
           antiAbuseListener(textarea, e);
         }, captureSupported ? {
           capture: true,
         } : undefined);
       }
       if (form) {
         form.addEventListener("submit", function (e) {
           antiAbuseListener(textarea, e);
         }, captureSupported ? {
           capture: true,
         } : undefined);
       }
     });
   }
   /* 函数执行体 */
   $(function () {
     //tabs
     tabs();
      //页顶提示模板相关
      //页顶提示模板相关
      commonBoxs();
      commonBoxs();
// Mobile Navmenu
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();});
      //用户资料页
      //用户资料页
      if (isUserProfile()) {
      if (isUserProfile()) {
匿名用户

导航菜单