MediaWiki:ResizeGalleries.js
Zur Navigation springen
Zur Suche springen
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
//<pre><nowiki>
/** set to false in [[Special:Mypage/monobook.js]] to switch off this feature */
var resizeGalleries_enabled = true;
addOnloadHook(function() {
if (!resizeGalleries_enabled) return;
var bc = document.getElementById ( "bodyContent" ) ;
var width = bc.offsetWidth ; // Visible width
var padding = 20 ; // padding per TD
var tables = getElementsByClassName ( bc , "table" , "gallery" ) ;
if (tables.length == 0 ) return;
function modifyTables() {
for ( var tablecount = 0 ; tablecount < tables.length ; tablecount++ ) {
var t = tables[tablecount] ;
// Get DIVs and their parent nodes (TDs)
var divs = getElementsByClassName ( t , "div" , "gallerybox" ) ;
var tds = new Array () ;
for ( var i = 0 ; i < divs.length ; i++ ) tds.push ( divs[i].parentNode ) ;
// Remove Table Rows
for ( var i = 0 ; i < t.rows.length ; i++ ) t.rows[i].parentNode.removeChild ( t.rows[i] ) ;
// Remove Table guts ( old tbodies, anything with type 1 should go )
for ( var i = 0 ; i < t.childNodes.length ; i++ )
if( t.childNodes[i].nodeType == 1 && t.childNodes[i].tagName == "TR" ) t.removeChild ( t.childNodes[i] ) ;
// Reorder
var tb = document.createElement("tbody");
var tr = null ;
var curpos = 0 ;
for ( var i = 0 ; i < tds.length ; i++ ) {
var nextwidth = parseInt ( divs[i].style.width ) + padding ;
if ( curpos + nextwidth > width || tr == null ) {
tr = document.createElement ( "tr" ) ;
tb.appendChild ( tr ) ;
curpos = 0 ;
}
curpos += nextwidth ;
tr.appendChild ( tds[i] ) ;
}
t.appendChild(tb);
}
}
modifyTables();
window.onresize = modifyTables;
});
//</nowiki></pre>