MediaWiki:Gadget-UserLinkAvatar.js:修订间差异
跳到导航
跳到搜索
小无编辑摘要 |
小无编辑摘要 |
||
第9行: | 第9行: | ||
var item = $(this); | var item = $(this); | ||
var src = mw.config.get("wgServer") + mw.config.get("wgScriptPath") + '/extensions/Avatar/avatar.php?user=' + encodeURIComponent(item.text()); | var src = mw.config.get("wgServer") + mw.config.get("wgScriptPath") + '/extensions/Avatar/avatar.php?user=' + encodeURIComponent(item.text()); | ||
var img = $('<img/>'). | var img = $('<img/>').one('error', function() { | ||
window.setTimeout(function() { | window.setTimeout(function() { | ||
img.attr('src', loadingImage); | img.attr('src', loadingImage); |
2022年11月20日 (日) 14:18的版本
// <pre>
(function() {
var magnifierOn = +mw.user.options.get("gadget-userLinkAvatarMagnifier", 0) === 1;
var $window = $(window);
var loadingImage = mw.config.get("wgServer") + mw.config.get("wgScriptPath") + 'images/2/28/Moehime.jpg';
$window.on('load.UserLinkAvatar', function() {
var images = [];
$('.mw-userlink:not(.user-avatar-added)').each(function() {
var item = $(this);
var src = mw.config.get("wgServer") + mw.config.get("wgScriptPath") + '/extensions/Avatar/avatar.php?user=' + encodeURIComponent(item.text());
var img = $('<img/>').one('error', function() {
window.setTimeout(function() {
img.attr('src', loadingImage);
}, 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 = $('<img/>', {
attr: {
"data-src": src,
"src": loadingImage
},
on: {
error: function() {
window.setTimeout(function() {
magnifierImg.closest('.userlink-avatar-large').remove();
}, 0);
}
}
});
images.push(magnifierImg[0]);
bigAvatar.on('click', function() {
window.open(mw.config.get("wgServer") + mw.config.get("wgScriptPath") + '/index.php?title=Special%3A查看头像&user=' + encodeURIComponent(item.text()), '_blank');
return false;
}).append($('<div/>', {
attr: {
class: 'userlink-avatar-large'
}
}).prepend(magnifierImg)).addClass('userlink-avatar-hover');
item.before(bigAvatar);
}
});
if (typeof window.lazyload === "function") {
lazyload(images);
} else {
images.forEach(function(ele) {
ele.src = ele.dataset.src;
});
}
});
$(function() {
$window.trigger("load.UserLinkAvatar");
});
})();
// </pre>