Benutzer:Ahnenfan/common.js: Unterschied zwischen den Versionen

Aus Westmärker Wiki
Zur Navigation springen Zur Suche springen
 
(310 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
/* ┌──────────────────────────────────────────────┐
 +
  │ Das folgende JavaScript wird nur für mich    │
 +
  │ (auch zum Testen) geladen.                  │
 +
  │ Für alle Benutzer gilt MediaWiki:Common.js  │
 +
  ├──────────────────────────────────────────────┤
 +
  │ Tabstop zum Kopieren: " "                │
 +
  └──────────────────────────────────────────────┘ */
 +
/* ╔═════════════════════════════╗
 +
  ║                            ║
 +
  ║          TEST-ZONE          ║
 +
  ║                            ║
 +
  ╚═════════════════════════════╝ */
 
if (1 == 0) {
 
if (1 == 0) {
/* *** Versuch, Bildbeschreibung einzubinden *** */
+
 
//alert("Hallo!");
+
}
//geht, ist mit  "- Westmärker Wiki" alert(document.title);
+
 
//geht, ist ohne "- Westmärker Wiki" alert(document.getElementsByTagName("h1")[0].innerText);
+
/* ╔═════════════════════════════╗
if (document.h1[0].innerText.indexOf("Bildbeschreibung") > 0) {
+
  ║                            ║
+
  ║          REAL-ZONE          ║
b = document.getElementByTagName("img")[0];
+
  ║                            ║
//b.innerHTML.replace("lgBildunterschrift", b.src.getElementById("mw-imagepage-section-filehistory").lastChild.firstChild.childNodes[2].lastChild.innerHTML);
+
  ╚═════════════════════════════╝ */
/* ## Dies ist die Location des Kommentars in Bildbeschreibungsseite: ##
+
/* ┌──────────────────────────────────────────────┐
div,                                              table,    tbody,    2.tr v.oben,  letzte td,Inhalt
+
  │ [[Tagebuch-Chronik]]                        │
getElementById("mw-imagepage-section-filehistory").lastChild.firstChild.childNodes[2].lastChild.innerHTML
+
  │ 1. Anzeige der Chronik-Zeilen                │
##### wenn man etwas von Hand eingibt, erscheit es woanders!! ##########
+
  │    (~Anzahl d. Artikel d. Tag-für-Tag-Ausg.) │
div,                                  div,      p,        Inhalt
+
  │ 2. Farbmarkierung "heute" + 80 bzw. 75 Jahre │
getElementById("mw-imagepage-content").firstChild.firstChild.innerHTML
+
  │    mit Link zum Tag, zwecks Blog-post        │
*/
+
  └──────────────────────────────────────────────┘ */
b.innerHTML.replace("lgBildunterschrift", "geht");
+
if (document.getElementById("anzahlzeilen")) {
alert("na und?");
+
document.getElementById( "anzahlzeilen" ).insertBefore( document.createTextNode( document.getElementsByTagName( 'tr' ).length ), document.getElementById( "anzahlzeilen" ).lastChild );
+
 
 +
// das aktuelle Datum gem. https://wiki.selfhtml.org/wiki/JavaScript/Objekte/Date/Einführung:
 +
heute = new Date();
 +
monat = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];
 +
ersteMarke = true;
 +
taglink = document.getElementsByClassName("ktbchronik")[2].getElementsByTagName("a");
 +
function post(postdatum, faerbung) {
 +
if (postdatum.getTime() < test00.getTime()) {
 +
taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = faerbung;
 +
} else {
 +
if (postdatum.getTime() == test00.getTime()) {
 +
if (ersteMarke) {
 +
taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = "gold";
 +
taglink[i].id = "YA";
 +
document.getElementById("YearsAgo").style.display = "block";
 +
// falls ausnahmsweise 2 posts an einem Tag fällig werden:
 +
} else {
 +
taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = "yellow";
 +
taglink[i].id = "YA2";
 +
document.getElementById("YearsAgo2").style.display = "block";
 +
}
 +
ersteMarke = false;
 +
}
 +
}
 +
}
 +
 
 +
// Vorlauf für die ersten beiden Zeilen:
 +
for (i=0; i<taglink.length; i++) {
 +
if (taglink[i].innerHTML.startsWith("193")) {
 +
taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = "lightsteelblue";
 +
}
 
}
 
}
 
}
 
  
function togglev(control) {
+
// Haupt-Durchlauf für die übrigen Zeilen:
toggle1(control.nextSibling); // mehr > weniger lesen
+
for (i=0; i<taglink.length; i++) {
toggle1(control.parentNode.previousSibling); // Teaser-Volltext
+
// nur zur Beschleunigung, trotzdem gibt es invalid:
}
+
if (taglink[i].innerHTML.startsWith("194")) {
function toggleh(control) {
+
datum = taglink[i].innerHTML.split("/");
toggle1(control.previousSibling); // weniger > mehr lesen
+
test80j = String(Number(datum[0]) + 80);
toggle1(control.parentNode.previousSibling); // Teaser-Volltext
+
test75j = String(Number(datum[0]) + 75);
}
+
testmon = (datum[1]) ? monat.indexOf(datum[1]) : "0";
function toggle1(control1) {
+
testtag = (datum[2]) ? datum[2] : "0";
if (control1.style.display == "none") {
+
test80 = new Date(test80j, testmon, testtag);
control1.style.display = "inline";
+
test75 = new Date(test75j, testmon, testtag);
} else {
+
test00 = new Date(heute.getFullYear(), heute.getMonth(), heute.getDate());
control1.style.display = "none";
+
post(test75, "lavender");
 +
post(test80, "lightsteelblue");
 +
}
 
}
 
}
}
 
  
meineteasers = document.getElementsByClassName('teaserclick');
+
//
for (i=0; i<meineteasers.length; i++) {
+
// zweite Zeilen (Geooc2) nachträglich auch färben:
innerhtmlplatzhalter = document.createTextNode("platzhalter");
+
//
meineteasers[i].appendChild(innerhtmlplatzhalter); // sonst sucht er nach nicht vorhandenem innerHTML!?
+
nachzeilen = document.getElementsByClassName("Geooc2");
meineteasers[i].innerHTML = "<a style=\"display: inline\" href="#" onclick=\"javascript:togglev(this)\"> * mehr lesen/read more...</a><a style=\"display: none\" href="#" onclick=\"javascript:toggleh(this)\"> * weniger lesen/read less...</a>";
+
for (i=0; i<nachzeilen.length; i++) {
 +
// Der erste previousSibling sowie childNode[0] und [2] sind Textknoten!? Vielleicht Zeilenumbrüche??
 +
Postfarbe = nachzeilen[i].parentNode.previousSibling.previousSibling.childNodes[3].style.backgroundColor;
 +
nachzeilen[i].style.borderRight                            = "#00b050";
 +
nachzeilen[i].nextSibling.nextSibling.style.borderRight    = "#00b050";
 +
nachzeilen[i].nextSibling.nextSibling.style.borderTop      = "solid 2px "+Postfarbe;
 +
nachzeilen[i].nextSibling.nextSibling.style.backgroundColor = Postfarbe;
 +
}
 
}
 
}

Aktuelle Version vom 23. Juni 2023, 09:37 Uhr

/* ┌──────────────────────────────────────────────┐
   │ Das folgende JavaScript wird nur für mich    │
   │ (auch zum Testen) geladen.                   │
   │ Für alle Benutzer gilt MediaWiki:Common.js   │
   ├──────────────────────────────────────────────┤
   │ Tabstop zum Kopieren: "	"                 │
   └──────────────────────────────────────────────┘ */
/* ╔═════════════════════════════╗
   ║                             ║
   ║          TEST-ZONE          ║
   ║                             ║
   ╚═════════════════════════════╝ */
if (1 == 0) {

}

/* ╔═════════════════════════════╗
   ║                             ║
   ║          REAL-ZONE          ║
   ║                             ║
   ╚═════════════════════════════╝ */
/* ┌──────────────────────────────────────────────┐
   │ [[Tagebuch-Chronik]]                         │
   │ 1. Anzeige der Chronik-Zeilen                │
   │    (~Anzahl d. Artikel d. Tag-für-Tag-Ausg.) │
   │ 2. Farbmarkierung "heute" + 80 bzw. 75 Jahre │
   │    mit Link zum Tag, zwecks Blog-post        │
   └──────────────────────────────────────────────┘ */
if (document.getElementById("anzahlzeilen")) {
	document.getElementById( "anzahlzeilen" ).insertBefore( document.createTextNode( document.getElementsByTagName( 'tr' ).length ), document.getElementById( "anzahlzeilen" ).lastChild );

	// das aktuelle Datum gem. https://wiki.selfhtml.org/wiki/JavaScript/Objekte/Date/Einführung:
	heute = new Date(); 
 	monat = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];
	ersteMarke = true;
	taglink = document.getElementsByClassName("ktbchronik")[2].getElementsByTagName("a");
	function post(postdatum, faerbung) {
		if (postdatum.getTime() < test00.getTime()) {
			taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = faerbung;
		} else {
			if (postdatum.getTime() == test00.getTime()) {
				if (ersteMarke) {
					taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = "gold";
					taglink[i].id = "YA";
					document.getElementById("YearsAgo").style.display = "block";
				// falls ausnahmsweise 2 posts an einem Tag fällig werden:
				} else {
					taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = "yellow";
					taglink[i].id = "YA2";
					document.getElementById("YearsAgo2").style.display = "block";
				}
				ersteMarke = false;
			}
		}
	}

	// Vorlauf für die ersten beiden Zeilen:
	for (i=0; i<taglink.length; i++) {
		if (taglink[i].innerHTML.startsWith("193")) { 
			taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = "lightsteelblue";
		}
	}

	// Haupt-Durchlauf für die übrigen Zeilen:
	for (i=0; i<taglink.length; i++) {
		// nur zur Beschleunigung, trotzdem gibt es invalid:
		if (taglink[i].innerHTML.startsWith("194")) { 
			datum = taglink[i].innerHTML.split("/");
			test80j = String(Number(datum[0]) + 80);
			test75j = String(Number(datum[0]) + 75);
			testmon = (datum[1]) ? monat.indexOf(datum[1]) : "0";
			testtag = (datum[2]) ? datum[2] : "0";
			test80 = new Date(test80j, testmon, testtag);
			test75 = new Date(test75j, testmon, testtag);
			test00 = new Date(heute.getFullYear(), heute.getMonth(), heute.getDate());
			post(test75, "lavender");
			post(test80, "lightsteelblue");
		}
	}

	//
	// zweite Zeilen (Geooc2) nachträglich auch färben:
	//
	nachzeilen = document.getElementsByClassName("Geooc2");
	for (i=0; i<nachzeilen.length; i++) {
// Der erste previousSibling sowie childNode[0] und [2] sind Textknoten!? Vielleicht Zeilenumbrüche??
		Postfarbe = nachzeilen[i].parentNode.previousSibling.previousSibling.childNodes[3].style.backgroundColor;
		nachzeilen[i].style.borderRight                             = "#00b050";
		nachzeilen[i].nextSibling.nextSibling.style.borderRight     = "#00b050";
		nachzeilen[i].nextSibling.nextSibling.style.borderTop       = "solid 2px "+Postfarbe;
		nachzeilen[i].nextSibling.nextSibling.style.backgroundColor = Postfarbe;
	}
}