MediaWiki:Common.js
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
// 用户名前显示头像
mw.loader.using( 'mediawiki.util', function () {
$( document ).ready( function () {
// 选择用户链接
$( 'a[href*="/wiki/User:"], a[href*="/wiki/%E7%94%A8%E6%88%B7:"]' ).each( function () {
var $link = $( this );
// 防止重复添加
if ( $link.prev( '.sp-avatar-wrapper' ).length ) {
return;
}
// 提取用户名
var href = $link.attr( 'href' );
var userName = decodeURIComponent( href.split( '/wiki/' )[1] ).replace( /^User:|^用户:/, '' );
// 调用 API 获取高清头像
new mw.Api().get( {
action: 'query',
list: 'users',
ususers: userName,
usprop: 'avatar',
// 请求 128px 或 256px 的原图 (根据你的 wiki 配置调整)
usavatarsize: 128
} ).done( function ( data ) {
if ( data.query && data.query.users && data.query.users[0] && data.query.users[0].avatar ) {
var avatarUrl = data.query.users[0].avatar;
// 创建图片元素
var $avatarImg = $( '<img>' ).attr( {
src: avatarUrl,
alt: userName,
style: 'vertical-align: middle; width: 20px; height: 20px; border-radius: 2px; object-fit: cover;'
} );
// 包裹元素并插入到链接前
var $avatarWrapper = $( '<span class="sp-avatar-wrapper" style="vertical-align: middle; margin-right: 4px; display: inline-block;"></span>' ).html( $avatarImg );
$link.before( $avatarWrapper );
}
} );
} );
} );
} );