PageSourceSearch

https://sso.rwth-aachen.de/idp/js/shib.js

js rwth-aachen.de collected 2026-09-24 08:05:55 UTC 2,344 bytes, 67 lines download raw bytes

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.