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
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
function MachWatt() {
var x = document.cookie;
docURL = document.URL;
if (docURL.match(/printable/) || x.substring(x.search(/NoStyle/)+8,x.search(/NoStyle/)+9) == "1") {
// keine Styles werden verstellt
// alert("nix passiert");
} else {
// contentbreite festlegen
var Breite = "800px"
document.getElementById("bodyContent").style.width = Breite;
// was ein em in px ist
Em = 16;
// Platz auf der rechten Seite berechnen
Platz = parseInt(document.body.clientWidth) - parseInt(document.getElementById("bodyContent").offsetWidth) - parseInt(document.getElementById("bodyContent").offsetLeft);
// Seiten- und andere Breiten setzen
BodyContBreite = document.getElementById("bodyContent").style.width = (Platz >= Em)? Breite : "100%";
ZahlBodyContBreite = BodyContBreite.match(/[0-9]/g).join("");
// überschriften anpassen
document.getElementById("firstHeading").style.width = BodyContBreite;
// text zentrieren, wenn nicht gerade versionsgeschichte angezeigt wird
if (docURL.search(/action=history/) == "-1") {
document.getElementById("bodyContent").style.textAlign = "justify";
}
/*
// teilüberschriften anpassen, wenn sie nicht in tabellen etc. eingebunden sind
for (var i =0; i< document.getElementsByTagName("h2").length;i++) {
var Element = document.getElementsByTagName("h2")[i];
if (Element.parentNode.id == "bodyContent") {
Element.style.width = BodyContBreite;
}
}
*/
// bilder verschieben
if (docURL.search(/\/Portal:/) == "-1") {
bilderVerschieben();
}
}
}
//bilder verschieben
function bilderVerschieben() {
Tag = new Array("div","table");
for (var i in Tag) {
var TagNr = document.getElementsByTagName(Tag[i]);
for (var j=0; j<TagNr.length; j++) {
// pruefeKlassen() :Prüfe, welche klassennamen objekt besitzt, gebe array mit klassennamen zurück, evtl. sortiert
var TagNrKlassen = PruefeKlassen(TagNr[j]); // Ergebnis ist, welche Klassennamen ein einzelnes div,table besitzt
// ErsetzeCSS() :lese i-te tag-möglichkeit, den j-ten tag der i-ten tag-möglichkeit und k-ten klassennamen ein, vergleiche mit cases-liste, ersetze css
for (var k in TagNrKlassen) {
ErsetzeCSS(Tag[i], j, TagNrKlassen[k]);
}
}
}
}
// pruefe von einem element, welche klassennamen es besitzt und gebe sie als array zurueck
function PruefeKlassen(Element) {
var KlassenGes = Element.className;
var KlassenEinz = KlassenGes.split(" ");
return KlassenEinz;
}
// funktion, die je nach tag UND klassennamen css-styles setzt, nimmt tagnamen UND einzelne klassennamen in empfang
function ErsetzeCSS(TagName, TagNameNr, TagNameKlassenname) {
var Element = document.getElementsByTagName(TagName)[TagNameNr];
var Verschiebung = (Platz >= Element.offsetWidth + 2*Em) ? Element.offsetWidth : Platz - 2*Em;
switch (TagName) {
case "div":
switch (TagNameKlassenname) {
case "tright": case "tleft":
case "float-right":
// soll nur kommen, wenns fließtext oder tabelle in fließtext ist
//if ( Element.parentNode.id == "bodyContent" || Element.parentNode.parentNode.parentNode.parentNode.id == "bodyContent") {
// für den fall, dass bilder in keiner tabelle angeordnet werden
if (Element.parentNode.tagName != "TD") {
Element.style.cssFloat = "right";
Element.style.clear = "right";
Element.style.position = "relative";
if (Platz > -Em) {
Element.style.left = Verschiebung + Em + "px";
Element.style.marginLeft = -Verschiebung + "px";
Element.style.marginRight = "0px";
} else {
Element.style.left = "0px";
Element.style.marginLeft = Em + "px";
Element.style.marginRight = "0px";
}
// falls es also in einer tabelle angeordnet ist
// die parent-tabelle floatet und kein text überhalb des ersten td-elements verwendet wird und es weder hintergrund noch rand gibt
} else if (
Element.parentNode.parentNode.parentNode.parentNode.classname.search(/float/) != "-1" &&
Element.parentNode.parentNode.parentNode.firstElementChild.firstElementChild.firstElementChild.className.search(/thumb/) != "-1" &&
Element.parentNode.parentNode.parentNode.parentNode.style.borderWidth
{
/* Element.style.marginLeft = "-3px";
// beim rechtesten Element den rechten Abstand anpassen
// if ( Element.parentNode.parentNode.lastElementChild.firstElementChild.className.match(/.+/.exec(TagNameKlassenname)) == TagNameKlassenname) {
if ( Element.parentNode.nextElementSibling == null) {
Element.style.marginRight = "-3px";
//alert("letztes Element");
} else {
Element.style.marginRight = Em + "px";
//alert("kein letztes Element");
}
*/
}
//}
break;
case "tnone":
if (Element.offsetWidth > ZahlBodyContBreite) {
Element.style.cssFloat = "none";
Element.style.clear = "both";
} else {
Element.style.cssFloat = "none";
Element.style.clear = "none";
}
break;
case "gallerybox":
Element.parentNode.style.border = "0px none";
break;
/* case "noprint": case "thumb": case "gallerytext":
case "thumbinner": case "thumbcaption": case "magnify": case "center":
case "catlinks": case "catlinks-allhidden": case "filledPortlet":
case "vectorTabs": case "vectorMenu": case "emptyPortlet": case "menu":
case "collapsible-nav": case "portal": case "printfooter": case "first":
case "persistent": case "body": case "expanded": case "collapsed":
case "suggestions": case "suggestions-results": case "suggestions-special":
case "visualClear": case "topicon": case "sisterproject": case "hintergrundfarbe1":
case "rahmenfarbe1": case "rahmenfarbe2": case "metadata": case "hauptseite-oben":
case "inhalt": case "portale": case "intern": case "hauptseite-links":
case "mehr": case "hauptseite-rechts": case "mw-specialpage-summary":
case "mw-rc-label-legend": case "mw-contributions-footer":
case "editOptions": case "editCheckboxes": case "editButtons": case "mw-tos-summary":
case "mw-editTools": case "templatesUsed": case "hiddencats": case "previewnote":
case "hauptseite-unten": case "mw-hidden-cats-hidden":
case "notice-text-wikimania-scholar": case "siteNoticeSmallAnon":
case "notice-collapsed-wrapper-wikimania-scholar":
case "siteNoticeUser": case "notice-wrapper-wikimania-scholar":
case "":
break; */
default:
// alert("undefinierter klassenname für divs: " + TagNameKlassenname);
break;
}
break;
case "table":
switch (TagNameKlassenname) {
case "float-right":
Element.style.cssFloat = "right";
Element.style.clear = "right";
Element.style.position = "relative";
if (Platz > -Em) {
Element.style.left = Verschiebung + Em + "px";
Element.style.marginLeft = -Verschiebung + "px";
Element.style.marginRight = "0px";
} else {
Element.style.left = "0px";
Element.style.marginLeft = Em + "px";
Element.style.marginRight = "0px";
}
break;
case "gallery":
Element.style.padding = "0px";
// und nicht float-right-klasse
if (!Element.className.match(/float-right/)) {
if (Element.offsetWidth > ZahlBodyContBreite) {
Element.style.cssFloat = "none";
Element.style.clear = "both";
} else {
Element.style.cssFloat = "none";
Element.style.clear = "none";
}
}
break;
/* case "toc": case "float-left": case "float-center":
case "wikitable": case "zebra": case "sp-contributions-footer":
case "metadata": case "hintergrundfarbe1":
case "rahmenfarbe1":
break;
case "":
break; */
default:
// alert("undefinierter klassenname für tables: " + TagNameKlassenname);
break;
}
break;
default:
break;
}
}
// passt den Style an die tatsächlich angezeigte Breite an
window.onresize = MachWatt;
function aktivierungsLinkErstellen() {
var x = document.cookie;
var LinkText;
if (x.substring(x.search(/NoStyle/)+8,x.search(/NoStyle/)+9) == "1") {
LinkText = "Style aktivieren";
} else {
LinkText = "Style deaktivieren";
}
// Spalte suchen.
var column = document.getElementById("p-tb");
// Box einbauen.
var li = document.createElement("li");
li.setAttribute("id", "t-style-deaktivieren");
column.children[1].children[0].appendChild(li);
var a = document.createElement("a");
a.setAttribute("href", "javascript:styleAktivieren()");
a.setAttribute("title", LinkText);
li.appendChild(a);
var aText = document.createTextNode(LinkText);
a.appendChild(aText);
}
function styleAktivieren() {
var a = new Date();
a = new Date(a.getTime() +30);
var x = document.cookie;
if ( x.substring(x.search(/NoStyle/)+8,x.search(/NoStyle/)+9) == "1") {
// style aktivieren
document.cookie = "NoStyle=0";
location.reload();
} else {
// style deaktivieren
document.cookie = "NoStyle=1";
location.reload();
}
}
addOnloadHook(MachWatt);
addOnloadHook(aktivierungsLinkErstellen);