MediaWiki:Gadget-Purgecache.js:修订间差异

H萌娘,万物皆可H的百科全书!
跳到导航 跳到搜索
imported>=海豚=
(创建页面,内容为“// <pre> $(function(){ mw.loader.using("moment").then(function() { var li = $('<li/>').appendTo("#p-personal > ul"), textNode = $('<span/>'),…”)
 
imported>=海豚=
无编辑摘要
(未显示同一用户的1个中间版本)
第14行: 第14行:
      } else {
      } else {
        containerNode = $('<a/>');
        containerNode = $('<a/>');
        var statusNode = $('<span/>').text(' 强制刷新 页面'),
        var statusNode = $('<span/>').text(' 清除 页面 缓存'),
          runningStatus = false;
          runningStatus = false;
        containerNode.attr("href", 'javascript:void(0);');
        containerNode.attr("href", 'javascript:void(0);');
第20行: 第20行:
        containerNode.on('click', function() {
        containerNode.on('click', function() {
          if (runningStatus) return;
          if (runningStatus) return;
          statusNode.text('正在 强制刷新 页面……');
          statusNode.text('正在 清除 页面 缓存 ……');
          statusNode.prepend('<img src="https://static.mengniang.org/common/d/d1/Windows_10_loading.gif" style="height: 1em; margin-top: -.25em;">');
          statusNode.prepend('<img src="https://static.mengniang.org/common/d/d1/Windows_10_loading.gif" style="height: 1em; margin-top: -.25em;">');
          runningStatus = true;
          runningStatus = true;
第33行: 第33行:
            setTimeout(function() {
            setTimeout(function() {
              api.post(opt).then(function() {
              api.post(opt).then(function() {
                statusNode.text(' 强制刷新 页面成功!');
                statusNode.text(' 清除 页面 缓存 成功!');
                setTimeout(location.reload.bind(location), 1000);
                setTimeout(location.reload.bind(location), 1000);
              }, function() {
              }, function() {
                statusNode.text(' 强制刷新 页面失败,点击可重试!');
                statusNode.text(' 清除 页面 缓存 失败,点击可重试!');
                runningStatus = false;
                runningStatus = false;
                setTimeout(function() {
                setTimeout(function() {
                  if (!runningStatus) statusNode.text(' 强制刷新 页面');
                  if (!runningStatus) statusNode.text(' 清除 页面 缓存');
                }, 5000);
                }, 5000);
              });
              });
            }, 370);
            }, 370);
          }, function() {
          }, function() {
            statusNode.text(' 强制刷新 页面失败,点击可重试!');
            statusNode.text(' 清除 页面 缓存 失败,点击可重试!');
            runningStatus = false;
            runningStatus = false;
            setTimeout(function() {
            setTimeout(function() {
              if (!runningStatus) statusNode.text(' 强制刷新 页面');
              if (!runningStatus) statusNode.text(' 清除 页面 缓存');
            }, 5000);
            }, 5000);
          });
          });
第65行: 第65行:
      }, date.getTime() - now);
      }, date.getTime() - now);
    });
    });
   new Image().src = "https://static.mengniang.org/common/d/d1/Windows_10_loading.gif";
});
});
// </pre>
// </pre>

2020年5月31日 (日) 19:43的版本

// <pre>
$(function(){
    mw.loader.using("moment").then(function() {
        var li = $('<li/>').appendTo("#p-personal > ul"),
            textNode = $('<span/>'),
            containerNode;
        if (mw.config.get('wgNamespaceNumber') === -1) {
            containerNode = $('<span/>');
            containerNode.css({
                'cursor': 'default',
                'user-select': 'none'
            });
            containerNode.append('特殊页面(').append(textNode).append(')');
        } else {
            containerNode = $('<a/>');
            var statusNode = $('<span/>').text('清除页面缓存'),
                runningStatus = false;
            containerNode.attr("href", 'javascript:void(0);');
            containerNode.append(statusNode).append('(').append(textNode).append(')');
            containerNode.on('click', function() {
                if (runningStatus) return;
                statusNode.text('正在清除页面缓存……');
                statusNode.prepend('<img src="https://static.mengniang.org/common/d/d1/Windows_10_loading.gif" style="height: 1em; margin-top: -.25em;">');
                runningStatus = true;
                var api = new mw.Api(),
                    opt = {
                        action: 'purge',
                        format: 'json',
                        forcelinkupdate: true,
                        titles: mw.config.get('wgPageName')
                    };
                api.post(opt).then(function() {
                    setTimeout(function() {
                        api.post(opt).then(function() {
                            statusNode.text('清除页面缓存成功!');
                            setTimeout(location.reload.bind(location), 1000);
                        }, function() {
                            statusNode.text('清除页面缓存失败,点击可重试!');
                            runningStatus = false;
                            setTimeout(function() {
                                if (!runningStatus) statusNode.text('清除页面缓存');
                            }, 5000);
                        });
                    }, 370);
                }, function() {
                    statusNode.text('清除页面缓存失败,点击可重试!');
                    runningStatus = false;
                    setTimeout(function() {
                        if (!runningStatus) statusNode.text('清除页面缓存');
                    }, 5000);
                });
            });
        }
        li.append(containerNode);
        textNode.text(moment().format('A h[:]mm[:]ss'));
        var date = new Date();
        var now = date.getTime();
        date.setMilliseconds(0);
        date.setSeconds(date.getSeconds() + 1);
        setTimeout(function() {
            setInterval(function() {
                textNode.text(moment().format('A h[:]mm[:]ss'));
            }, 1e3);
            textNode.text(moment().format('A h[:]mm[:]ss'));
        }, date.getTime() - now);
    });
    new Image().src = "https://static.mengniang.org/common/d/d1/Windows_10_loading.gif";
});
// </pre>