MediaWiki:Gadget-UserLinkAvatar.js:修订间差异
来自卖块资源站
MangoFanFan(留言 | 贡献) (对头像功能的测试) |
MangoFanFan(留言 | 贡献) (测试头像样式(从萌娘百科抄的代码,试下行不行)) 标签:已被回退 |
||
第1行: | 第1行: | ||
$( | /* <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> */ |
2024年7月25日 (四) 10:16的版本
/* <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> */