MediaWiki:Common.js/IEFixes.js

/* Scripts specific to Internet Explorer */ /** * Add IE specific CSS */ var ieCSS; /* In print IE (7?) does not like line-height */ ieCSS += '@media print { sup, sub, p { line-height: normal; } } '; /* IE overflow bug */ ieCSS += 'div.overflowbugx { overflow-x: scroll !important; overflow-y: hidden !important; } ' + 'div.overflowbugy { overflow-y: scroll !important; overflow-x: hidden !important; } '; /* IE zoomfix. Use to fix right floating div/table inside tables. */ ieCSS += '.iezoomfix div, .iezoomfix table { zoom: 1; } '; mw.util.addCSS( ieCSS ); /** * Description: Fixes IE horizontal scrollbar bug * Maintainers: User:Tom-? */ var oldWidth; var docEl = document.documentElement; var fixIEScroll = function { if ( !oldWidth || docEl.clientWidth > oldWidth ) { doFixIEScroll; } else { setTimeout( doFixIEScroll, 1 ); }   oldWidth = docEl.clientWidth; } var doFixIEScroll = function { docEl.style.overflowX = ( docEl.scrollWidth - docEl.clientWidth < 4 ) ? 'hidden' : ''; } document.attachEvent( 'onreadystatechange', fixIEScroll ); document.attachEvent( 'onresize', fixIEScroll ); /** * Helper script for .hlist class in Common.css * Last updated: January 24, 2013 * @source mediawiki.org/wiki/Snippets/Horizontal_lists * @maintainer: User:Edokter * @revision: 3.1 */ /* Fix wrapping issue in IE 8 and up for hlist in table; put a soft-hyphen in front of list items. */ if ( $.client.profile.versionNumber > 7 ) { mw.util.addCSS( 'table.hlist li:before { content: "\\ad"; }' ); } /* Add pseudo-selector class to last-child list items in IE 8 */ if ( $.client.profile.versionNumber === 8 ) { $( '.hlist' ).find( 'dd:last-child, dt:last-child, li:last-child' ) .addClass( 'hlist-last-child' ); } /* Generate interpuncts and parentheses for IE < 8 */ if ( $.client.profile.versionNumber < 8 ) { var hlists = $( '.hlist' ); hlists.find( 'dt:not(:last-child)' ) .append( ': ' ); hlists.find( 'dd:not(:last-child)' ) .append( '· ' ); hlists.find( 'li:not(:last-child)' ) .append( '· ' ); hlists.find( 'dl dl, dl ol, dl ul, ol dl, ol ol, ol ul, ul dl, ul ol, ul ul' ) .prepend( '( ' ).append( ') ' ); }