PageSourceSearch

https://www.ctm-festival.de/_assets/233c9fbaede886d56dbbbba72932e8…/Src/ctm-close-decision.js?1784112066

js ctm-festival.de collected 2026-10-01 10:26:26 UTC 1,784 bytes, 35 lines download raw bytes

1/* Close-Button v2: Vor-Paint-Entscheidung fuer den "<"-Zurueck-Button.
2   Laeuft BLOCKIEREND im <head> (braucht kein DOM): "<" erscheint nur, wenn
3   history-back ein ANDERES Ziel haette als das X. X-Ziel = letzte Menue-Seite
4   (ctmLastMenuUrl) — ohne sie faellt das X auf den Referrer zurueck und
5   waere mit "<" identisch -> versteckt. Gleiche Kette wie ctmResolveCloseUrl
6   in ctm-2.0.0.js — bei Aenderungen BEIDE pflegen. Ergebnis = Klasse
7   ctm-back-differs auf <html>; das Einblenden macht pures CSS (CtmNavi.scss).
8   Dadurch steht der Endzustand VOR dem ersten Paint — kein Aufblitzen,
9   kein Nachspringen. */
10(function () {
11    try {
12        var normPath = function (u) { return String(u).split('?')[0].replace(/\/+$/, '') || '/'; };
13        var refPath = null;
14        if (document.referrer) {
15            var ref = new URL(document.referrer);
16            if (ref.origin === window.location.origin
17                && normPath(ref.pathname) !== normPath(window.location.pathname)) {
18                refPath = normPath(ref.pathname);
19            }
20        }
21        if (!refPath) {
22            // Browser ohne Referrer: ctmCur traegt hier noch die VORHERIGE Seite
23            // (ctm-2.0.0.js rotiert erst spaeter im Footer).
24            var prev = sessionStorage.getItem('ctmCur');
25            if (prev && normPath(prev) !== normPath(window.location.pathname)) {
26                refPath = normPath(prev);
27            }
28        }
29        if (!refPath) { return; } // kein Verlauf -> Pfeil bleibt weg
30        var lastMenu = sessionStorage.getItem('ctmLastMenuUrl');
31        if (lastMenu && normPath(lastMenu) !== refPath) {
32            document.documentElement.className += ' ctm-back-differs';
33        }
34    } catch (e) { /* im Zweifel versteckt lassen */ }
35})();

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.