MediaWiki:Common.js
From Phidgets Support
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
/**
* Redirect User:Name/skin.js and skin.css to the current skin's pages
* (unless the 'skin' page really exists).
*
* Dependencies: mediawiki.util
*
* @source https://www.mediawiki.org/wiki/Snippets/Redirect_skin.js
* @revision 2016-04-13
*/
if ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgNamespaceNumber' ) === 2 ) {
mw.loader.using( 'mediawiki.util', function () {
var titleParts = mw.config.get( 'wgPageName' ).split( '/' );
// Make sure there was a part before and after the slash
// And that the latter is 'skin.js' or 'skin.css'
if ( titleParts.length === 2 ) {
var userSkinPage = titleParts[0] + '/' + mw.config.get( 'skin' );
if ( titleParts[1] === 'skin.js' ) {
window.location.href = mw.util.getUrl( userSkinPage + '.js' );
} else if ( titleParts[1] === 'skin.css' ) {
window.location.href = mw.util.getUrl( userSkinPage + '.css' );
}
}
} );
}
// Book specific
var wgBookName = ( mw.config.get( 'wgPageName' ).split( '/', 1)[0] || '' ).split( ':', 2 ).join( ':' );
mw.loader.load( '/docs/index.php?title=MediaWiki:Common.css/'+wgBookName+'&action=raw&ctype=text/css', 'text/css' );
// Imported scripts
mw.loader.load( '/docs/index.php?title=MediaWiki:Common.js/CollapseElements.js&action=raw&ctype=text/javascript');
// User guide sections
$('.ugcHeader').click(function () {
var hed = $(this)[0];
var con = $(this).next('.ugcContent')[0];
if ($(this).children('span.ugcHeaderIcon').hasClass("down"))
$(this).children('span.ugcHeaderIcon').removeClass("down");
else
$(this).children('span.ugcHeaderIcon').addClass("down");
$(this).parent().find('.ugcContent').each(function (i, item) {
if ($(item)[0] != con)
$(item).slideUp();
});
$(this).parent().find('.ugcHeader').each(function (i, item) {
if ($(item)[0] != hed)
$(item).children('span.ugcHeaderIcon').removeClass("down");
});
$(this).next('.ugcContent').slideToggle();
return false;
});
///////////////////////////////////////////// Sticky TOC
$(window).scroll(function(e){
var el = document.getElementById('toc');
var scr = $(this).scrollTop();
if (window.innerWidth >= 1400) {
if (scr > 0 && scr < 200){
el.style.top = 200-scr + "px";
}
else if (scr >= 200){
el.style.top = "0px";
}
else
{
el.style.top = "220px";
}
}
});