MediaWiki:Gadget-selfHighlight.js
Перейти до навігації
Перейти до пошуку
Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.
- Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
- Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
- Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
- Opera: натисніть Ctrl-F5
$(document).ready( function() {
mw.loader.using( [ 'mediawiki.api' ] ).done( function () {
var api = new mw.Api();
// get local namespace
api.parse( "{{ns:User}}" ).done( function (result) {
var userNamespace = result.match( /<p>(.*)[\n]<\/p>/ )[1];
var linkTarget = (
mw.config.get( 'wgArticlePath' ).replace('$1','') +
'(' + userNamespace.replaceAll(' ','_') + '|User):'
);
// user name from link
var linkTemplate = new RegExp( linkTarget + '[ _]*([^?/]+)', 'i' );
// if link isn't subpage
var linkNegativeTarget = new RegExp( linkTarget + '[^?]*\/[^?]*', 'i' );
// if link is user link
var linkTarget = new RegExp( linkTarget, 'i' );
// get user name
var user = mw.config.get('wgUserName');
$('#mw-content-text a[href]').each( function() {
var href = decodeURI( $(this).attr('href') ).replaceAll(' ','_');
// if link has "/wiki/User:" (for en wiki as example)
if ( href.match( linkTarget ) && !href.match( linkNegativeTarget ) ) {
var userName = href.match( linkTemplate )[2];
if ( (userName[0].toUpperCase() + userName.slice(1)) == user ) {
$(this).addClass( 'self-highlight' );
}
}
});
});
});
});