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 () {
// 匹配所有用户链接(User: 和 用户: 命名空间)
$( '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:|^用户:/, '' );
// 构造一个临时div来解析头像HTML
var $tempDiv = $( '<div>' );
// 使用MediaWiki的API来解析 {{#avatar:用户名}}
new mw.Api().get( {
action: 'parse',
text: '{{#avatar:' + userName + '}}',
contentmodel: 'wikitext',
disablelimitreport: true,
disableeditsection: true
} ).done( function ( data ) {
if ( data.parse && data.parse.text ) {
var avatarHtml = data.parse.text[ '*' ];
// 把头像插入到链接前面
var $avatarWrapper = $( '<span class="sp-avatar-wrapper" style="vertical-align: middle; margin-right: 4px; display: inline-block;"></span>' ).html( avatarHtml );
$link.before( $avatarWrapper );
}
} );
} );
} );
} );