Zeile 2: aktuellen Path-Teil der URL auslesen (also /games/demons-souls/...)
let urlPath = window.location.pathName;
Bei alert(urlPath)
kommt aber undefined
heraus. Nur wenn ich das .pathName
weglasse, kommt die abgerufene URL heraus. Eben sehe ich, das Programm schlägt mir .pathname
vor. Damit wird auch die URL tatsächlich ausgegeben. Ist das case-sensitive?
Zeile 3: Position des letzten / finden
Zeile 4: Den Text hinter dem / lesen, das ist der Name des Tabs. ODER LEER!
let urlPath = window.location.pathName; let slash = page.lastIndexOf("/"); let page = urlPath.substr(slash+1);
Worin muss ich denn den letzten / suchen, um den Tab-Namen herauszubekommen?
Ich würde sagen, in urlPath
. Dort suchst du von hinten das erste /
der URL-Zeile.
Ist das Problem die Reihenfolge, in der ich Dinge tue? Oder greife ich vielleicht im richtigen Moment auf die falschen Daten zu?
Ja, nämlich oben. Wenn man es so schreibt, funktioniert zumindest das Finden des strings:
let urlPath = window.location.pathname;
let slash = urlPath.lastIndexOf( "/" );
let page = urlPath.substr(slash+1);
Jetzt muckt er aber an dieser Stelle rum: $tab = $("#tabs .tab[href="+CSS.escape(page)+"]")
Fehlermeldung: Uncaught Error: Syntax error, unrecognized expression: #tabs .tab[href=]
Hm? Stimmt doch eigentlich? Habe das Script hochgeladen!