跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
特殊页面
帮助
维基语法
编者入门
其他
最近更改
特殊页面
所有页面
失传媒体中文维基
搜索
搜索
外观
创建账号
登录
个人工具
创建账号
登录
查看“︁MediaWiki:Common.js”︁的源代码
系统消息
讨论
English
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
页面信息
外观
移至侧栏
隐藏
←
MediaWiki:Common.js
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
//用户名前显示头像 (function() { // 缓存 var avatarCache = {}; function addAvatarsToElements( $elements ) { $elements.each( function () { var $link = $( this ); if ( $link.prev( '.sp-avatar-wrapper' ).length ) { return; } // 排除区域 if ( $link.closest( '#p-views, #p-cactions, #p-tb, #right-navigation, #p-personal' ).length ) { return; } var href = $link.attr( 'href' ); if ( !href ) return; var userPart = decodeURIComponent( href.split( '/wiki/' )[1] ); if ( !userPart || userPart.indexOf( '/' ) !== -1 ) { return; } var userName = userPart.replace( /^User:|^用户:/, '' ).replace(/_/g, ' '); var linkText = $link.text().trim().replace(/^User:|^用户:/, ''); if ( linkText !== userName ) { var $target = $link.find( 'span, bdi' ).first(); var targetText = $target.length ? $target.text().trim().replace(/^User:|^用户:/, '') : ''; if ( !$target.length || targetText !== userName ) { return; } } // 检查缓存 if ( avatarCache[userName] ) { insertAvatar( $link, avatarCache[userName], userName ); return; } new mw.Api().get( { action: 'parse', text: '{{#avatar:' + userName + '|l}}', contentmodel: 'wikitext', disablelimitreport: true, disableeditsection: true } ).done( function ( data ) { if ( data.parse && data.parse.text ) { var avatarHtml = data.parse.text[ '*' ]; avatarCache[userName] = avatarHtml; // 写入缓存 insertAvatar( $link, avatarHtml, userName ); } } ); } ); } function insertAvatar( $link, avatarHtml, userName ) { var $avatarWrapper = $( '<span class="sp-avatar-wrapper" style="vertical-align: middle; margin-right: 4px; display: inline-block;"></span>' ).html( avatarHtml ); $avatarWrapper.find( 'img' ).css( { width: '2em', height: '2em', objectFit: 'cover', display: 'inline-block', verticalAlign: 'middle', border: 'var(--background-color-neutral, #eaecf0) 2px solid', boxSizing: 'border-box' } ); $link.before( $avatarWrapper ); // 处理登录用户的 CSS 逻辑 if ( mw.user.isAnon() ) return; var currentUserName = mw.user.getName(); if ( userName !== currentUserName ) return; var avatarImg = $avatarWrapper.find( 'img' ); var avatarUrl = avatarImg.attr( 'src' ); if ( avatarUrl && avatarUrl !== '/images/avatars/default_l.gif' ) { var $styleTag = $( '#dynamic-avatar-style' ); if ( !$styleTag.length ) { $styleTag = $( '<style id="dynamic-avatar-style"></style>' ).appendTo( 'head' ); } var css = '.minerva-icon--userAvatarOutline { background-image: url("' + avatarUrl + '"); background-repeat: no-repeat; background-size: contain; width: 30px; height: 30px; mask-image: unset; }'; $styleTag.text( css ); } } addAvatarsToElements( $( 'a[href*="/wiki/User:"], a[href*="/wiki/%E7%94%A8%E6%88%B7:"], a[href*="/wiki/用户:"]' ) ); mw.hook( 'wikipage.content' ).add( function ( $content ) { addAvatarsToElements( $content.find( 'a[href*="/wiki/User:"], a[href*="/wiki/%E7%94%A8%E6%88%B7:"], a[href*="/wiki/用户:"]' ) ); } ); var observer = new MutationObserver( function ( mutations ) { mutations.forEach( function ( mutation ) { $( mutation.addedNodes ).find( 'a[href*="/wiki/User:"], a[href*="/wiki/%E7%94%A8%E6%88%B7:"], a[href*="/wiki/用户:"]' ).each( function() { addAvatarsToElements( $( this ) ); } ); } ); } ); observer.observe( document.body, { childList: true, subtree: true } ); })();
返回
MediaWiki:Common.js
。
搜索
搜索
查看“︁MediaWiki:Common.js”︁的源代码
添加话题