• 正在查找将来过去时的官方设定集?不如看看万界大百科吧!
  • 《将来过去时》第一部分 现在 魔科纪元的少年少女 即将正式发布!
  • 让我偷偷看一眼小鱼君的博客……
  • 服务器已成功迁移到 阿里云(杭州)

“MediaWiki:Gadget-NotifyWhenCopy.js”的版本间的差异

来自小鱼君和他的朋友们
(创建页面,内容为“$(function() { mw.hook('dev.fetch').add(function(fetch) { // Start fetch(['Edit', 'License-description', 'Custom-copynotify', 'Custom-copynotify-' + wg…”)
 
(机智的小鱼君移动页面MediaWiki:NotifyWhenCopy.jsMediaWiki:Gadget-NotifyWhenCopy.js
 
(未显示同一用户的30个中间版本)
第1行: 第1行:
 
$(function() {
 
$(function() {
  mw.hook('dev.fetch').add(function(fetch) {
+
   mw.loader.load('https://common.wjghj.cn/js/shake');
    // Start
 
    fetch(['Edit', 'License-description', 'Custom-copynotify', 'Custom-copynotify-' + wgPageName],
 
    function(mwMsg) {
 
  
     // Variables
+
   if (mw.config.get('wgUserGroups').includes('sysop')) return; // 不对管理员生效
     var license = $('.license-description a').prop('outerHTML'),
+
   (new mw.Api()).get({
     licenseDescriptionMsg = mwMsg()[1].replace('$1', license),
+
    action: 'query',
     customMsg = mwMsg()[2],
+
    meta: 'allmessages',
     customPageMsg = mwMsg()[3],
+
    ammessages: 'License-description|Copy-notify|Copy-notify/page/'+wgPageName,
 
+
    amlang: mw.config.get('wgUserLanguage') || mw.config.get('wgContentLanguage')
     defaultMsg = '你刚刚复制了<span style="font-weight:bold;">' + wgSiteName + '</span>上的内容!'+ licenseDescriptionMsg + '<br/>转载时请注明出处:<span style="font-style:italic;font-weight:bold;">' + decodeURIComponent(location.href) + '</span>',
+
   }).done(function(data) {
 
+
    // Variables
     finalMsg;
+
    var licenseDescriptionMsg = data.query.allmessages[0]['*'],
 
+
      customMsg = data.query.allmessages[1]['*'],
     // Get custom messages
+
      customPageMsg = data.query.allmessages[2]['*'],
     if (customPageMsg !== undefined && customPageMsg !== '-' && customPageMsg !== '') {
+
      finalMsg = customPageMsg.replace(/\$sitename/ig, wgSiteName).replace(/\$url/ig, decodeURIComponent(location.href)).replace(/\$license/ig, licenseDescriptionMsg);
+
      defaultMsg = '你刚刚复制了<span style="font-weight:bold;">' + wgSiteName + '</span>上的内容!'+ licenseDescriptionMsg + '<br/>转载时请注明出处:<span style="font-style:italic;font-weight:bold;">' + decodeURIComponent(location.href) + '</span>',
     } else if (customMsg !== undefined && customMsg !== '-' && customMsg !== '') {
+
      finalMsg = customMsg.replace(/\$sitename/ig, wgSiteName).replace(/\$url/ig, decodeURIComponent(location.href)).replace(/\$license/ig, licenseDescriptionMsg);
+
      finalMsg;
 +
 +
    // Get custom messages
 +
    if ( customPageMsg !== undefined && customPageMsg !== '-' && customPageMsg !== '' ) {
 +
     finalMsg = customPageMsg
 +
      .replace( /\$sitename/ig , wgSiteName )
 +
      .replace( /\$url/ig , decodeURIComponent(location.href) )
 +
      .replace( /\$license/ig , licenseDescriptionMsg );
 +
    } else if ( customMsg !== undefined && customMsg !== '-' && customMsg !== '' ) {
 +
     finalMsg = customMsg
 +
      .replace( /\$sitename/ig , wgSiteName )
 +
      .replace( /\$url/ig , decodeURIComponent(location.href) )
 +
      .replace( /\$license/ig , licenseDescriptionMsg );
 +
    } else {
 +
     finalMsg = defaultMsg;
 +
    }
 +
    var debugMsg = 'defaultMsg is:<br/>' + defaultMsg + '<hr/>customMsg is:<br/>' + customMsg + '<hr/>customPageMsg is:<br/>' + customPageMsg + '<hr/>finalMsg is:<br/>' + finalMsg;
 +
 +
    // Output
 +
    $(window).on('copy',function() {
 +
     if ($('.copy-notify').length < 1) {
 +
      ssi_modal.notify('',{
 +
       title: '',
 +
       content: finalMsg,
 +
       closeAfter: {time:60},
 +
       position: 'top center',
 +
       sizeClass: 'full',
 +
       className: 'copy-notify',
 +
       onClose: function() {
 +
        $(window).unbind('scroll');
 +
        $('body').css('margin-top','');
 +
       }
 +
      });
 +
      if($(window).scrollTop() < 1) $('body').css('margin-top',$('.copy-notify').height()+70);
 +
      $(window).bind('scroll',function(){
 +
       console.log($(window).scrollTop());
 +
       if ($(window).scrollTop() < 1) {
 +
        $('body').css('margin-top',$('.copy-notify').height()+70);
 +
       } else {
 +
        $('body').css('margin-top','');
 +
       }
 +
      });
 
      } else {
 
      } else {
       finalMsg = defaultMsg;
+
       $('.copy-notify').shake(4,10,200);
 
      }
 
      }
     var debugMsg = 'defaultMsg is:<br/>' + defaultMsg + '<hr/>customMsg is:<br/>' + customMsg + '<hr/>customPageMsg is:<br/>' + customPageMsg + '<hr/>finalMsg is:<br/>' + finalMsg;
+
    });
  
     // Output
+
   });
     $(window).on('copy',
+
  // End
     function() {
 
       toastr['warning']('<div id="copy-notify">' + debugMsg + '</div>', 'warn');
 
     });
 
    });
 
    // End
 
  });
 
 
});
 
});

2020年10月5日 (一) 10:47的最新版本

$(function() {
    mw.loader.load('https://common.wjghj.cn/js/shake');

    if (mw.config.get('wgUserGroups').includes('sysop')) return; // 不对管理员生效
    (new mw.Api()).get({
      action: 'query',
      meta: 'allmessages',
      ammessages: 'License-description|Copy-notify|Copy-notify/page/'+wgPageName,
      amlang: mw.config.get('wgUserLanguage') || mw.config.get('wgContentLanguage')
    }).done(function(data) {
      // Variables
      var licenseDescriptionMsg = data.query.allmessages[0]['*'],
          customMsg = data.query.allmessages[1]['*'],
          customPageMsg = data.query.allmessages[2]['*'],
 
          defaultMsg =  '你刚刚复制了<span style="font-weight:bold;">' + wgSiteName + '</span>上的内容!'+ licenseDescriptionMsg + '<br/>转载时请注明出处:<span style="font-style:italic;font-weight:bold;">' + decodeURIComponent(location.href) + '</span>',
 
          finalMsg;
 
      // Get custom messages
      if ( customPageMsg !== undefined && customPageMsg !== '-' && customPageMsg !== '' ) {
        finalMsg = customPageMsg
          .replace( /\$sitename/ig , wgSiteName )
          .replace( /\$url/ig , decodeURIComponent(location.href) )
          .replace( /\$license/ig , licenseDescriptionMsg );
      } else if ( customMsg !== undefined && customMsg !== '-' && customMsg !== '' ) {
        finalMsg = customMsg
          .replace( /\$sitename/ig , wgSiteName )
          .replace( /\$url/ig , decodeURIComponent(location.href) )
          .replace( /\$license/ig , licenseDescriptionMsg );
      } else {
        finalMsg = defaultMsg;
      }
      var debugMsg = 'defaultMsg is:<br/>' + defaultMsg + '<hr/>customMsg is:<br/>' + customMsg + '<hr/>customPageMsg is:<br/>' + customPageMsg + '<hr/>finalMsg is:<br/>' + finalMsg;
 
      // Output
      $(window).on('copy',function() {
        if ($('.copy-notify').length < 1) {
          ssi_modal.notify('',{
            title: '',
            content: finalMsg,
            closeAfter: {time:60},
            position: 'top center',
            sizeClass: 'full',
            className: 'copy-notify',
            onClose: function() {
              $(window).unbind('scroll');
              $('body').css('margin-top','');
            }
          });
          if($(window).scrollTop() < 1) $('body').css('margin-top',$('.copy-notify').height()+70);
          $(window).bind('scroll',function(){
            console.log($(window).scrollTop());
            if ($(window).scrollTop() < 1) {
              $('body').css('margin-top',$('.copy-notify').height()+70);
            } else {
              $('body').css('margin-top','');
            }
          });
        } else {
          $('.copy-notify').shake(4,10,200);
        }
      });

    });
  // End
});