MediaWiki:Common.js:修订间差异
| (未显示同一用户的3个中间版本) | |||
| 第8行: | 第8行: | ||
return; | return; | ||
} | } | ||
const excludeContainers = [ | |||
'#p-views', | |||
'#p-cactions', | |||
'#p-tb', | |||
'#right-navigation', | |||
'#p-personal', | |||
'.mw-portlet-personal' | |||
]; | |||
// 检查是否匹配任意一个排除容器 | |||
const isExcluded = excludeContainers.some(selector => $link.closest(selector).length); | |||
if (isExcluded) { | |||
return; | |||
} | |||
var href = $link.attr( 'href' ); | var href = $link.attr( 'href' ); | ||
if ( !href ) return; | if ( !href ) return; | ||
| 第49行: | 第60行: | ||
$link.before( $avatarWrapper ); | $link.before( $avatarWrapper ); | ||
if ( mw.user.isAnon() ) { | if ( mw.user.isAnon() ) { | ||
return; | return; | ||
} | } | ||
var currentUserName = mw.user.getName(); | var currentUserName = mw.user.getName(); | ||
if ( userName !== currentUserName ) { | if ( userName !== currentUserName ) { | ||
| 第63行: | 第71行: | ||
var avatarUrl = avatarImg.attr( 'src' ); | var avatarUrl = avatarImg.attr( 'src' ); | ||
if ( avatarUrl && avatarUrl !== '/images/avatars/default_l.gif' ) { | if ( avatarUrl && avatarUrl !== '/images/avatars/default_l.gif' ) { | ||
var $styleTag = $( '#dynamic-avatar-style' ); | var $styleTag = $( '#dynamic-avatar-style' ); | ||
if ( !$styleTag.length ) { | if ( !$styleTag.length ) { | ||
$styleTag = $( '<style id="dynamic-avatar-style"></style>' ).appendTo( 'head' ); | $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; }'; | 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 ); | $styleTag.text( css ); | ||
| 第87行: | 第93行: | ||
} ); | } ); | ||
} ); | } ); | ||
//重定向 | |||
(function() { | |||
const url = new URL(window.location.href); | |||
const pathname = url.pathname; | |||
const searchParams = url.searchParams; | |||
const isIndexPhp = pathname === '/index.php'; | |||
const hasOnlyTitleParam = searchParams.size === 1 && searchParams.has('title'); | |||
const titleValue = searchParams.get('title') || ''; | |||
const hasValidTitle = titleValue.trim() !== ''; | |||
if (isIndexPhp && hasOnlyTitleParam && hasValidTitle) { | |||
const targetUrl = `/wiki/${encodeURIComponent(titleValue)}`; | |||
window.location.replace(targetUrl); | |||
} | |||
})(); | |||