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

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

来自小鱼君和他的朋友们
 
([InPageEdit] 没有编辑摘要)
 
(未显示同一用户的42个中间版本)
第1行: 第1行:
/* 分享按钮 */
+
mw.loader.using('jquery.cookie', function () {
$('.page-header__title').after('<div id="share-this-page">' +
+
  var config = mw.config.get();
'<span class="wds-is-secondary wds-button start-a-chat-button" id="shareQQ-btn">分享到QQ</span>&nbsp;' +
+
 
'<span class="wds-is-secondary wds-button start-a-chat-button" id="QR-btn" >分享二维码</span>&nbsp;' +
+
  /* 分享按钮 */
'<span class="wds-is-secondary wds-button start-a-chat-button" id="purge-btn" title="强刷新(purge)">强刷新页面</span>' +
+
  $('.action-view .firstHeading').after(
'</div>'
+
   '<div id="share-this-page">' +
);
+
   '<button id="QR-btn">分享二维码</button>' +
/* 刷新按钮 */
+
   '<button id="purge-btn" title="强刷新(purge)">强刷新页面</button>' +
$('#purge-btn').on('click', function () {
+
   '</div>'
  location.href = '/index.php/' + wgPageName + '?action=purge';
 
});
 
/* QQ空间 */
 
$('#shareQQ-btn').on('click', function () {
 
  //ZONE
 
  var zoneurl = 'https://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url=https://wjghj.fandom.com/wiki/' + wgPageName + '&sharesource=qzone&title=【' + wgPageName + '】-来自万界规划局&summary=快来看看来自粉丝们的故事吧&pics=https://wjghj.cn/images/b/bc/Wiki.png';
 
  //FRIEND
 
  var friendurl = 'http://connect.qq.com/widget/shareqq/index.html?url=https://wjghj.fandom.com/wiki/' + wgPageName + '&sharesource=qzone&title=【' + wgPageName + '】-来自万界规划局&summary=快来看看来自粉丝们的故事吧&pics=https://wjghj.cn/images/b/bc/Wiki.png';
 
  $('body').prepend('<div id="share-bg"></div>' +
 
  '<div id="QQ-share"><center>' +
 
  '<a href="' + friendurl + '" target="_blank"><img src="https://vignette.wikia.nocookie.net/dragonfish/images/1/16/Qq-logo.png/revision/latest?cb=20190227185424&format=original&path-prefix=zh" style="height:50px;width:50px;border-radius:50%;border:1px solid gray;"></a>' +
 
  '<a href="' + zoneurl + '" target="_blank"><img style="height:50px;width:50px;border-radius:50%;border:1px solid orange;" src="https://vignette.wikia.nocookie.net/dragonfish/images/0/08/Qzone-logo.png/revision/latest?cb=20190227185423&format=original&path-prefix=zh"></a>' +
 
  '<br clear="all">' +
 
  '<a href="' + friendurl + '" target="_blank">分享给好友</a> | <a href="' + zoneurl + '" target="_blank">分享到空间</a>' +
 
  '<br style="clear:both;"/><a id="QQshare-close"><img src="https://vignette.wikia.nocookie.net/dragonfish/images/d/d0/Close-btn.png/revision/latest/scale-to-width-down/36?cb=20190227185424&path-prefix=zh"/></a>' +
 
  '</center></div>'
 
 
   );
 
   );
   $('#QQshare-close,#share-bg').on('click', function () {
+
  /* 刷新按钮 */
    $('#QQ-share,#share-bg').remove();
+
   $('#purge-btn').click(function () {
 +
   var $this = $(this);
 +
   if ($.cookie('wasPurged') > 0) {
 +
    $this.html('请求频率过高 (<span id="purge-btn_countdown">' + Math.floor(($.cookie('wasPurged') - new Date().getTime()) / 1000) + '</span>)').attr('disabled', 'disabled');
 +
    var endTime = $.cookie('wasPurged');
 +
    setInterval(function () {
 +
     var timeleft = Math.floor((endTime - new Date().getTime()) / 1000);
 +
     if (timeleft < 1) {
 +
      $this.html('强刷新页面').attr('disabled', false);
 +
      clearInterval();
 +
     } else {
 +
      $('#purge-btn_countdown').html(timeleft);
 +
     }
 +
    }, 1000);
 +
   } else {
 +
    $this.html('正在刷新&nbsp;<img src="https://vignette.wikia.nocookie.net/dftest/images/8/8c/Ms-loading-spinner.svg" style="height:14px;width:auto" />').attr('disabled', 'disabled');
 +
 
 +
    // 设置30秒cd
 +
    mw.loader.using(['jquery.cookie'], function () {
 +
     var timeLeft = new Date();
 +
     timeLeft.setTime(timeLeft.getTime() + 30 * 1000);
 +
     $.cookie('wasPurged', new Date().getTime() + (30 * 1000), {
 +
      expires: timeLeft
 +
     });
 +
    });
 +
 
 +
    new mw.Api().post({
 +
     action: 'purge',
 +
     titles: config.wgPageName,
 +
    }).done(function () {
 +
     $this.html('刷新成功!');
 +
     window.location.reload();
 +
    }).fail(function () {
 +
     $this.html('刷新失败,请重试').attr('disabled', false);
 +
    });
 +
    }
 +
  });
 +
 
 +
  /* 二维码 */
 +
  $('#QR-btn').click(function () {
 +
   var QRurl = 'https://api.qrserver.com/v1/create-qr-code/?color=Fl000000&bgcolor=FFFFFF&data=https://wjghj.cn/' + config.wgPageName + '&qzone=1&margin=0&size=150x150';
 +
   var QRimg = '<img id="QR-code" src="' + QRurl + '"  alt="二维码服务检索失败!" style="width:150px;height:150px"/>';
 +
   ssi_modal.show({
 +
    sizeClass: 'dialog',
 +
    className: 'centerbox',
 +
    center: 1,
 +
    content:
 +
     '<center>' +
 +
     QRimg +
 +
     '<div>扫描或长按保存,然后分享给你的小伙伴吧!<br/><span style="color:gray;font-size:70%;">你也可以<a href="' + QRurl + '" target="_blank">直接下载</a>二维码</span></div>' +
 +
     '</center>',
 +
    title: '分享本页二维码'
 +
   });
 
   });
 
   });
 
});
 
});
/*  二维码 */
+
 
var QRurl = 'https://api.qrserver.com/v1/create-qr-code/?size=150x150&data=https://wjghj.fandom.com/wiki/' + wgPageName;
+
/**
var QRimg = '<img id="QR-code" src="' + QRurl + '" alt="二维码服务失效!"/>';
+
* @name Short URL
$('#QR-btn').on('click', function () {
+
* @author 机智的小鱼君
  $('body').prepend('<div id="share-bg"></div>' +
+
*
  '<div id="QR-share"><center>' +
+
* @description Get the "fake" short link provided by MediaWiki.
  QRimg +
+
*        Solve the very long link of the pages that name contain non-ASCII words.
  '<div> 扫描或长按保存 ,然后 分享给你的小伙伴吧!<br/><span style="color:gray;font-size:70%;">你也可以<a href="' + QRurl + '" target="_blank">直接下载</a>二维码</span></div>' +
+
  */
   '<a id="QR-close"><img src="https://vignette.wikia.nocookie.net/dragonfish/images/d/d0/Close-btn.png/revision/latest/scale-to-width-down/36?cb=20190227185424&path-prefix=zh"/></a>' +
+
!(function () {
  '</center></div>'
+
  window.shortUrl = window.shortUrl || '';
 +
  // 缓存 mw 变量
 +
  var config = mw.config.get();
 +
  // 判断是否存在文章ID
 +
  if (config.wgArticleId > 0) {
 +
   shortUrl = config.wgServer + '/-/' + config.wgArticleId;
 +
   // 在文章后插入段落
 +
   $('#firstHeading').after(
 +
    $('<div>', { class: 'shortUrl-block' }).append(
 +
     $('<span>', { class: 'shortUrl-description' }).append(
 +
      $('<span>', { text: '您还可以通过此链接分享页面:' }),
 +
      $('<strong>', { text: shortUrl + ' ' }),
 +
      $('<a>', { text: '复制', href: 'javascript:;' }).click(function () {
 +
       // 创建 input 元素,选中复制 ,然后 销毁
 +
       var $this = $(this),
 +
        surlInput = $('<input>', { id: 'shortUrl-copy', value: shortUrl, style: 'z-index: -1; opacity: 0; position: absolute; left: -200vw;', readonly: 'readonly' });
 +
       $this.append(surlInput);
 +
       surlInput.select();
 +
       document.execCommand('copy');
 +
       surlInput.remove();
 +
       $this.text('已复制!');
 +
       setTimeout(function () {
 +
        $this.text(' 复制');
 +
       }, 1500);
 +
      })
 +
     )
 +
    )
 +
   );
 +
  }
 +
  // 将短链接替换进文章
 +
   $('.shortUrl').text(shortUrl);
 +
  $('.shortUrl-link').html(
 +
   $('<a>', { href: shortUrl, text: shortUrl })
 
   );
 
   );
  $('#QR-close,#share-bg').on('click', function () {
+
}());
   $('#QR-share,#share-bg').remove();
 
  });
 
});
 

2021年1月29日 (五) 19:34的最新版本

mw.loader.using('jquery.cookie', function () {
  var config = mw.config.get();

  /* 分享按钮 */
  $('.action-view .firstHeading').after(
    '<div id="share-this-page">' +
    '<button id="QR-btn">分享二维码</button>' +
    '<button id="purge-btn" title="强刷新(purge)">强刷新页面</button>' +
    '</div>'
  );
  /* 刷新按钮 */
  $('#purge-btn').click(function () {
    var $this = $(this);
    if ($.cookie('wasPurged') > 0) {
      $this.html('请求频率过高 (<span id="purge-btn_countdown">' + Math.floor(($.cookie('wasPurged') - new Date().getTime()) / 1000) + '</span>)').attr('disabled', 'disabled');
      var endTime = $.cookie('wasPurged');
      setInterval(function () {
        var timeleft = Math.floor((endTime - new Date().getTime()) / 1000);
        if (timeleft < 1) {
          $this.html('强刷新页面').attr('disabled', false);
          clearInterval();
        } else {
          $('#purge-btn_countdown').html(timeleft);
        }
      }, 1000);
    } else {
      $this.html('正在刷新&nbsp;<img src="https://vignette.wikia.nocookie.net/dftest/images/8/8c/Ms-loading-spinner.svg" style="height:14px;width:auto" />').attr('disabled', 'disabled');

      // 设置30秒cd
      mw.loader.using(['jquery.cookie'], function () {
        var timeLeft = new Date();
        timeLeft.setTime(timeLeft.getTime() + 30 * 1000);
        $.cookie('wasPurged', new Date().getTime() + (30 * 1000), {
          expires: timeLeft
        });
      });

      new mw.Api().post({
        action: 'purge',
        titles: config.wgPageName,
      }).done(function () {
        $this.html('刷新成功!');
        window.location.reload();
      }).fail(function () {
        $this.html('刷新失败,请重试').attr('disabled', false);
      });
    }
  });

  /* 二维码 */
  $('#QR-btn').click(function () {
    var QRurl = 'https://api.qrserver.com/v1/create-qr-code/?color=Fl000000&bgcolor=FFFFFF&data=https://wjghj.cn/' + config.wgPageName + '&qzone=1&margin=0&size=150x150';
    var QRimg = '<img id="QR-code" src="' + QRurl + '"  alt="二维码服务检索失败!" style="width:150px;height:150px"/>';
    ssi_modal.show({
      sizeClass: 'dialog',
      className: 'centerbox',
      center: 1,
      content:
        '<center>' +
        QRimg +
        '<div>扫描或长按保存,然后分享给你的小伙伴吧!<br/><span style="color:gray;font-size:70%;">你也可以<a href="' + QRurl + '" target="_blank">直接下载</a>二维码</span></div>' +
        '</center>',
      title: '分享本页二维码'
    });
  });
});

/**
 * @name Short URL
 * @author 机智的小鱼君
 * 
 * @description Get the "fake" short link provided by MediaWiki.
 *              Solve the very long link of the pages that name contain non-ASCII words.
 */
!(function () {
  window.shortUrl = window.shortUrl || '';
  // 缓存 mw 变量
  var config = mw.config.get();
  // 判断是否存在文章ID
  if (config.wgArticleId > 0) {
    shortUrl = config.wgServer + '/-/' + config.wgArticleId;
    // 在文章后插入段落
    $('#firstHeading').after(
      $('<div>', { class: 'shortUrl-block' }).append(
        $('<span>', { class: 'shortUrl-description' }).append(
          $('<span>', { text: '您还可以通过此链接分享页面:' }),
          $('<strong>', { text: shortUrl + ' ' }),
          $('<a>', { text: '复制', href: 'javascript:;' }).click(function () {
            // 创建 input 元素,选中复制,然后销毁
            var $this = $(this),
              surlInput = $('<input>', { id: 'shortUrl-copy', value: shortUrl, style: 'z-index: -1; opacity: 0; position: absolute; left: -200vw;', readonly: 'readonly' });
            $this.append(surlInput);
            surlInput.select();
            document.execCommand('copy');
            surlInput.remove();
            $this.text('已复制!');
            setTimeout(function () {
              $this.text('复制');
            }, 1500);
          })
        )
      )
    );
  }
  // 将短链接替换进文章
  $('.shortUrl').text(shortUrl);
  $('.shortUrl-link').html(
    $('<a>', { href: shortUrl, text: shortUrl })
  );
}());