Wechseln zu:Navigation, Suche
Wiki
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
/* Das folgende JavaScript wird für alle Benutzer geladen. */
/* Das folgende JavaScript wird für alle Benutzer geladen. */
var sp_country_codes = document.querySelectorAll('span.sp-country-code');
var sp_country_codes = document.querySelectorAll("span.sp-country-code");
for (i = 0; i < sp_country_codes.length; i++) {
for (i = 0; i < sp_country_codes.length; i++) {
sp_country_codes[i].innerHTML = (navigator.language).substring(0,2);
sp_country_codes[i].innerHTML = navigator.language.substring(0, 2);
}
}


var default_language = document.querySelectorAll('.language.de');
var default_language = document.querySelectorAll(".language.de");
for (i = 0; i < default_language.length; i++) {
for (i = 0; i < default_language.length; i++) {
default_language[i].style.display = "inline";
/*default_language[i].style.display = "inline";*/
}
/*default_language[i].classList.add("inline");*/
}


var supported_languages = {
var supported_languages = {
"de": "german",
de: "german",
"en": "english",
en: "english",
"fr": "french",
fr: "french",
pl: "polish",
// beliebig erweiterbar
// beliebig erweiterbar
};
};


// sprache des browsers
// sprache des browsers
var browser_langues_code = navigator.language;
var browser_langues_code = navigator.language;
if (browser_langues_code.indexOf("-") != -1) {
if (browser_langues_code.indexOf("-") != -1) {
var browser_langues_code = browser_langues_code.substring(0, browser_langues_code.indexOf("-"));
var browser_langues_code = browser_langues_code.substring(
}
0,
browser_langues_code.indexOf("-")
);
}
 


// wird die sprache supportet auswählen
// wird die sprache supportet auswählen
console.log(supported_languages[browser_langues_code]);
console.log(supported_languages[browser_langues_code]);
if (supported_languages[browser_langues_code] != undefined) {
if (supported_languages[browser_langues_code] != undefined) {
var default_language = document.querySelectorAll('.language.'+supported_languages[browser_langues_code]);
var default_language = document.querySelectorAll(
".language." + supported_languages[browser_langues_code]
);
for (i = 0; i < default_language.length; i++) {
for (i = 0; i < default_language.length; i++) {
default_language[i].style.display = "inline";
/* default_language[i].style.display = "inline"; */
}
default_language[i].classList.add("inline");
} else {
document.documentElement.setAttribute("lang", navigator.language.substring(0, 2) );
var default_language = document.querySelectorAll('.language.german');
document.getElementById('mw-content-text').setAttribute("lang", navigator.language.substring(0, 2) );
}
} else {
var default_language = document.querySelectorAll(".language.english");
for (i = 0; i < default_language.length; i++) {
for (i = 0; i < default_language.length; i++) {
default_language[i].style.display = "inline";
/* default_language[i].style.display = "inline"; */
default_language[i].classList.add("inline");
document.documentElement.setAttribute("lang", 'en');
document.getElementById('mw-content-text').setAttribute("lang", 'en');
}
}
}
}


// hier die funktion der buttons
// hier die funktion der buttons


// deutsch button
// deutsch button
var language_toggle_german = document.querySelectorAll('.language-toggle-german');
var language_toggle_german = document.querySelectorAll(
".language-toggle-german"
);
for (i = 0; i < language_toggle_german.length; i++) {
for (i = 0; i < language_toggle_german.length; i++) {
language_toggle_german[i].addEventListener('click', function(event) {
language_toggle_german[i].addEventListener("click", function (event) {
var language_elements = document.querySelectorAll('.language');
var language_elements = document.querySelectorAll(".language");
  for (i = 0; i < language_elements.length; i++) {
for (i = 0; i < language_elements.length; i++) {
language_elements[i].style.display = "none";
language_elements[i].classList.remove("inline");
language_elements[i].classList.add("toggle-inaktiv");
}
}
  var language_german = document.querySelectorAll('.language.german');
var language_german = document.querySelectorAll(".language.german");
  for (i = 0; i < language_german.length; i++) {
for (i = 0; i < language_german.length; i++) {
language_german[i].style.display = "inline";
language_german[i].classList.remove("toggle-inaktiv");
}
language_german[i].classList.add("inline");
});
document.documentElement.setAttribute("lang", 'de');
}
document.getElementById('mw-content-text').setAttribute("lang", 'de');
}
});
}


// englisch button
// englisch button
var language_toggle_english = document.querySelectorAll('.language-toggle-english');
var language_toggle_english = document.querySelectorAll(
".language-toggle-english"
);
for (i = 0; i < language_toggle_english.length; i++) {
for (i = 0; i < language_toggle_english.length; i++) {
language_toggle_english[i].addEventListener('click', function(event) {
language_toggle_english[i].addEventListener("click", function (event) {
var language_elements = document.querySelectorAll('.language');
var language_elements = document.querySelectorAll(".language");
  for (i = 0; i < language_elements.length; i++) {
for (i = 0; i < language_elements.length; i++) {
language_elements[i].style.display = "none";
language_elements[i].classList.remove("inline");
language_elements[i].classList.add("toggle-inaktiv");
}
var language_english = document.querySelectorAll(".language.english");
for (i = 0; i < language_english.length; i++) {
language_english[i].classList.remove("toggle-inaktiv");
language_english[i].classList.add("inline");
document.documentElement.setAttribute("lang", 'en');
document.getElementById('mw-content-text').setAttribute("lang", 'en');
}
});
}
 
// französisch button
var language_toggle_french = document.querySelectorAll(
".language-toggle-french"
);
for (i = 0; i < language_toggle_french.length; i++) {
language_toggle_french[i].addEventListener("click", function (event) {
var language_elements = document.querySelectorAll(".language");
for (i = 0; i < language_elements.length; i++) {
language_elements[i].classList.remove("inline");
language_elements[i].classList.add("toggle-inaktiv");
}
}
  var language_english = document.querySelectorAll('.language.english');
var language_french = document.querySelectorAll(".language.french");
  for (i = 0; i < language_english.length; i++) {
for (i = 0; i < language_french.length; i++) {
language_english[i].style.display = "inline";
language_french[i].classList.remove("toggle-inaktiv");
language_french[i].classList.add("inline");
}
}
});
});
}
}


// französisch button
// polnisch button
var language_toggle_french = document.querySelectorAll('.language-toggle-french');
var language_toggle_polish = document.querySelectorAll(
for (i = 0; i < language_toggle_french.length; i++) {
".language-toggle-polish"
language_toggle_french[i].addEventListener('click', function(event) {
);
var language_elements = document.querySelectorAll('.language');
for (i = 0; i < language_toggle_polish.length; i++) {
  for (i = 0; i < language_elements.length; i++) {
language_toggle_polish[i].addEventListener("click", function (event) {
language_elements[i].style.display = "none";
var language_elements = document.querySelectorAll(".language");
for (i = 0; i < language_elements.length; i++) {
language_elements[i].classList.remove("inline");
language_elements[i].classList.add("toggle-inaktiv");
}
}
  var language_french = document.querySelectorAll('.language.french');
var language_polish = document.querySelectorAll(".language.polish");
  for (i = 0; i < language_french.length; i++) {
for (i = 0; i < language_polish.length; i++) {
language_french[i].style.display = "inline";
language_polish[i].classList.remove("toggle-inaktiv");
language_polish[i].classList.add("inline");
}
}
});
});
}
}
 
 
// Ein- und ausblenden von Beschriftungs-div-Tags
 
/* Schaltet zwischen sp-toggle-show und sp-toggle-hide Paaren um */
mw.hook('wikipage.content').add(function($content) {
    // 1. Klick auf die Show-Box
    $content.find('.sp-toggle-show').on('click', function() {
        var $showBox = $(this);
        var $hideBox = $showBox.next('.sp-toggle-hide');
       
        if ($hideBox.length) {
            $showBox.addClass('none');
            $hideBox.removeClass('none');
        }
    });
 
    // 2. Klick auf die Hide-Box
    $content.find('.sp-toggle-hide').on('click', function() {
        var $hideBox = $(this);
        var $showBox = $hideBox.prev('.sp-toggle-show');
       
        if ($showBox.length) {
            $hideBox.addClass('none');
            $showBox.removeClass('none');
        }
    });
});
 
 
 
// Copy to Clipboard
 
$(function () {
    // Nur, wenn jQuery geladen ist
    $('.mw-copy-to-clipboard').on('click', function (e) {
        const $btn = $(this);
        // 1️⃣ Text holen – entweder aus data‑attribut oder aus dem Button‑Text selbst
        const textToCopy = $btn.data('clipboard-text') || $btn.text();
 
        // 2️⃣ Clipboard‑API benutzen, falls verfügbar
        if (navigator.clipboard) {
            navigator.clipboard.writeText(textToCopy)
                .then(() => showCopied($btn))
                .catch(err => console.warn('Clipboard API not allowed', err));
        } else {
            // 3️⃣ Fallback für alte Browser: execCommand
            const textarea = document.createElement('textarea');
            textarea.style.position = 'fixed';  // verhindert Scroll‑Schiebe‑Effekt
            textarea.style.opacity = 0;        // unsichtbar
            textarea.value = textToCopy;
            document.body.appendChild(textarea);
            textarea.select();
            try {
                document.execCommand('copy');
                showCopied($btn);
            } catch (err) {
                console.warn('Fallback copy failed', err);
            }
            document.body.removeChild(textarea);
        }
    });
 
    // Hilfsfunktion für kurzes „Copied!“ Tooltip
    function showCopied($el) {
        const originalTitle = $el.attr('title') || '';
        $el.attr('title', 'Copied!').trigger('mouseover');
        setTimeout(() => {
            $el.attr('title', originalTitle).trigger('mouseout');
        }, 1200);
    }
});

Aktuelle Version vom 14. April 2026, 08:56 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */
var sp_country_codes = document.querySelectorAll("span.sp-country-code");
for (i = 0; i < sp_country_codes.length; i++) {
	sp_country_codes[i].innerHTML = navigator.language.substring(0, 2);
	}

var default_language = document.querySelectorAll(".language.de");
for (i = 0; i < default_language.length; i++) {
	/*default_language[i].style.display = "inline";*/
	/*default_language[i].classList.add("inline");*/
	}

var supported_languages = {
	de: "german",
	en: "english",
	fr: "french",
	pl: "polish",
	// beliebig erweiterbar
	};

// sprache des browsers
var browser_langues_code = navigator.language;
if (browser_langues_code.indexOf("-") != -1) {
	var browser_langues_code = browser_langues_code.substring(
		0,
		browser_langues_code.indexOf("-")
	);
	}


// wird die sprache supportet auswählen
console.log(supported_languages[browser_langues_code]);
if (supported_languages[browser_langues_code] != undefined) {
	var default_language = document.querySelectorAll(
		".language." + supported_languages[browser_langues_code]
	);
	for (i = 0; i < default_language.length; i++) {
		/* default_language[i].style.display = "inline"; */
		 default_language[i].classList.add("inline"); 
		document.documentElement.setAttribute("lang", navigator.language.substring(0, 2) );
		document.getElementById('mw-content-text').setAttribute("lang", navigator.language.substring(0, 2) );
		}
	} else {
	var default_language = document.querySelectorAll(".language.english");
	for (i = 0; i < default_language.length; i++) {
		/* default_language[i].style.display = "inline"; */
		default_language[i].classList.add("inline"); 
		document.documentElement.setAttribute("lang", 'en');
		document.getElementById('mw-content-text').setAttribute("lang", 'en');
		}
	}

// hier die funktion der buttons

// deutsch button
var language_toggle_german = document.querySelectorAll(
	".language-toggle-german"
	);
for (i = 0; i < language_toggle_german.length; i++) {
	language_toggle_german[i].addEventListener("click", function (event) {
		var language_elements = document.querySelectorAll(".language");
		for (i = 0; i < language_elements.length; i++) {
			language_elements[i].classList.remove("inline");
			language_elements[i].classList.add("toggle-inaktiv");
		}
		var language_german = document.querySelectorAll(".language.german");
		for (i = 0; i < language_german.length; i++) {
			language_german[i].classList.remove("toggle-inaktiv");
			language_german[i].classList.add("inline");
			document.documentElement.setAttribute("lang", 'de');
			document.getElementById('mw-content-text').setAttribute("lang", 'de');
			}
		});
	}

// englisch button
var language_toggle_english = document.querySelectorAll(
	".language-toggle-english"
	);
for (i = 0; i < language_toggle_english.length; i++) {
	language_toggle_english[i].addEventListener("click", function (event) {
		var language_elements = document.querySelectorAll(".language");
		for (i = 0; i < language_elements.length; i++) {
			language_elements[i].classList.remove("inline");
			language_elements[i].classList.add("toggle-inaktiv");
			}
		var language_english = document.querySelectorAll(".language.english");
		for (i = 0; i < language_english.length; i++) {
			language_english[i].classList.remove("toggle-inaktiv");
			language_english[i].classList.add("inline");
			document.documentElement.setAttribute("lang", 'en');
			document.getElementById('mw-content-text').setAttribute("lang", 'en');
			}
		});
	}

// französisch button
var language_toggle_french = document.querySelectorAll(
	".language-toggle-french"
	);
for (i = 0; i < language_toggle_french.length; i++) {
	language_toggle_french[i].addEventListener("click", function (event) {
		var language_elements = document.querySelectorAll(".language");
		for (i = 0; i < language_elements.length; i++) {
			language_elements[i].classList.remove("inline");
			language_elements[i].classList.add("toggle-inaktiv");
		}
		var language_french = document.querySelectorAll(".language.french");
		for (i = 0; i < language_french.length; i++) {
			language_french[i].classList.remove("toggle-inaktiv");
			language_french[i].classList.add("inline");
		}
	});
	}

// polnisch button
var language_toggle_polish = document.querySelectorAll(
	".language-toggle-polish"
	);
for (i = 0; i < language_toggle_polish.length; i++) {
	language_toggle_polish[i].addEventListener("click", function (event) {
		var language_elements = document.querySelectorAll(".language");
		for (i = 0; i < language_elements.length; i++) {
			language_elements[i].classList.remove("inline");
			language_elements[i].classList.add("toggle-inaktiv");
		}
		var language_polish = document.querySelectorAll(".language.polish");
		for (i = 0; i < language_polish.length; i++) {
			language_polish[i].classList.remove("toggle-inaktiv");
			language_polish[i].classList.add("inline");
		}
	});
	}


// Ein- und ausblenden von Beschriftungs-div-Tags

/* Schaltet zwischen sp-toggle-show und sp-toggle-hide Paaren um */
mw.hook('wikipage.content').add(function($content) {
    // 1. Klick auf die Show-Box
    $content.find('.sp-toggle-show').on('click', function() {
        var $showBox = $(this);
        var $hideBox = $showBox.next('.sp-toggle-hide');
        
        if ($hideBox.length) {
            $showBox.addClass('none');
            $hideBox.removeClass('none');
        }
    });

    // 2. Klick auf die Hide-Box
    $content.find('.sp-toggle-hide').on('click', function() {
        var $hideBox = $(this);
        var $showBox = $hideBox.prev('.sp-toggle-show');
        
        if ($showBox.length) {
            $hideBox.addClass('none');
            $showBox.removeClass('none');
        }
    });
});



// Copy to Clipboard

$(function () {
    // Nur, wenn jQuery geladen ist
    $('.mw-copy-to-clipboard').on('click', function (e) {
        const $btn = $(this);
        // 1️⃣ Text holen – entweder aus data‑attribut oder aus dem Button‑Text selbst
        const textToCopy = $btn.data('clipboard-text') || $btn.text();

        // 2️⃣ Clipboard‑API benutzen, falls verfügbar
        if (navigator.clipboard) {
            navigator.clipboard.writeText(textToCopy)
                .then(() => showCopied($btn))
                .catch(err => console.warn('Clipboard API not allowed', err));
        } else {
            // 3️⃣ Fallback für alte Browser: execCommand
            const textarea = document.createElement('textarea');
            textarea.style.position = 'fixed';   // verhindert Scroll‑Schiebe‑Effekt
            textarea.style.opacity = 0;         // unsichtbar
            textarea.value = textToCopy;
            document.body.appendChild(textarea);
            textarea.select();
            try {
                document.execCommand('copy');
                showCopied($btn);
            } catch (err) {
                console.warn('Fallback copy failed', err);
            }
            document.body.removeChild(textarea);
        }
    });

    // Hilfsfunktion für kurzes „Copied!“ Tooltip
    function showCopied($el) {
        const originalTitle = $el.attr('title') || '';
        $el.attr('title', 'Copied!').trigger('mouseover');
        setTimeout(() => {
            $el.attr('title', originalTitle).trigger('mouseout');
        }, 1200);
    }
});