|
|
| 第1行: |
第1行: |
| 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 );
| |
| }
| |
| } );
| |
| } );
| |
| } );
| |
| } );
| |