1/** 2 * shib.js 3 * Vanilla JS â kein jQuery erforderlich 4 */ 5 6document.addEventListener('DOMContentLoaded', function () { 7 8 // ------------------------------------------------------------------------- 9 // Hilfsfunktion: Query-Parameter setzen und Seite neu laden 10 // ------------------------------------------------------------------------- 11 function setLangParam(lang) { 12 const params = new URLSearchParams(window.location.search); 13 params.set('lang', lang); 14 location.search = params.toString(); 15 } 16 17 // ------------------------------------------------------------------------- 18 // Sprachumschaltung 19 // ------------------------------------------------------------------------- 20 const btnDe = document.getElementById('de'); 21 const btnEn = document.getElementById('en'); 22 23 if (btnDe) { 24 btnDe.addEventListener('click', function (e) { 25 e.preventDefault(); 26 setLangParam('de'); 27 }); 28 } 29 30 if (btnEn) { 31 btnEn.addEventListener('click', function (e) { 32 e.preventDefault(); 33 setLangParam('en'); 34 }); 35 } 36 37 // Aktive Sprache: jeweils den eigenen Button ausblenden 38 const lang = new URLSearchParams(window.location.search).get('lang'); 39 if (lang === 'de') { 40 if (btnDe) btnDe.classList.add('d-none'); 41 if (btnEn) btnEn.classList.remove('d-none'); 42 } else if (lang === 'en') { 43 if (btnEn) btnEn.classList.add('d-none'); 44 if (btnDe) btnDe.classList.remove('d-none'); 45 } 46 47 // ------------------------------------------------------------------------- 48 // Toggle-Hilfsfunktion für Notice-Boxen 49 // ------------------------------------------------------------------------- 50 function bindToggle(triggerSelector, targetId) { 51 const target = document.getElementById(targetId); 52 if (!target) return; 53 document.querySelectorAll(triggerSelector).forEach(function (el) { 54 el.addEventListener('click', function (e) { 55 e.preventDefault(); 56 target.classList.toggle('d-none'); 57 }); 58 }); 59 } 60 61 bindToggle('.help', 'details'); 62 bindToggle('.help2', 'details2'); 63 bindToggle('.help2fa', 'details2fa'); 64 bindToggle('.otl', 'otl_det'); 65 bindToggle('.pd', 'pd_det'); 66 67});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.