跳转到内容

MediaWiki:Gadget-UserLinkAvatar.js

注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。

  • Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5Ctrl-R(Mac为⌘-R
  • Google Chrome:Ctrl-Shift-R(Mac为⌘-Shift-R
  • Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
  • Opera:Ctrl-F5
/* <pre> */
 
"use strict";
(function () {
    var magnifierOn = +mw.user.options.get("gadget-userLinkAvatarMagnifier", 0) === 1;
    var $window = $(window);
    var loadingImage = "https://img.moegirl.org.cn/common/d/d1/Windows_10_loading.gif";
    $window.on("load.UserLinkAvatar", function () {
        var images = [];
        $(".mw-userlink:not(.user-avatar-added)").each(function (_, ele) {
            var item = $(ele);
            var src = "https://commons.moegirl.org.cn/extensions/Avatar/avatar.php?user=".concat(encodeURIComponent(item.text()));
            var img = $("<img/>").on("error", function () {
                window.setTimeout(function () {
                    img.closest(".userlink-avatar").remove();
                }, 0);
            }).addClass("userlink-avatar-small").attr({
                "data-src": src,
                src: loadingImage
            });
            images.push(img[0]);
            var bigAvatar = $("<span/>").addClass("userlink-avatar");
            item.prepend(bigAvatar.append(img));
            item.addClass("user-avatar-added");
            if (magnifierOn) {
                var magnifierImg_1 = $("<img/>", {
                    attr: {
                        "data-src": src,
                        src: loadingImage
                    },
                    on: {
                        error: function () {
                            window.setTimeout(function () {
                                magnifierImg_1.closest(".userlink-avatar-large").remove();
                            }, 0);
                        }
                    }
                });
                images.push(magnifierImg_1[0]);
                bigAvatar.on("click", function () {
                    window.open("https://commons.moegirl.org.cn/index.php?title=Special%3A\u67E5\u770B\u5934\u50CF&user=".concat(encodeURIComponent(item.text())), "_blank");
                    return false;
                }).append($("<div/>", {
                    attr: {
                        "class": "userlink-avatar-large"
                    }
                }).prepend(magnifierImg_1)).addClass("userlink-avatar-hover");
                item.before(bigAvatar);
                bigAvatar.add(bigAvatar.children()).attr("title", "\u67E5\u770B\u7528\u6237".concat(item.text(), "\u7684\u5934\u50CF"));
            }
        });
        if (typeof window.lazyload === "function") {
            window.lazyload(images);
        }
        else {
            images.forEach(function (ele) {
                ele.src = ele.dataset.src;
            });
        }
    });
    $(function () {
        $window.trigger("load.UserLinkAvatar");
    });
})(); 
 
/* </pre> */