JavaScript (this.pathname): In Konsole d. Inspektors undefined
io
- bootstrap
- browser
- javascript
Das folgende 15 Zeilen Skript eines sehr guten JavaScript Programmierers enthält in Zeile 4:
this.pathname
Skript auf GitHub: https://gist.github.com/planetoftheweb/6729f849d7db31061b2e
Laut meiner Web Entwickler Konsole im Browser ist es undefined. Ich bin JavaScript-Laie. Ist das Skript fehlerhaft bzw. veraltet? Meine Website nutzt jQuery v3.3.1.
Hintergrund: Das Skript soll auf einer Bootstrap* Seite dafür sorgen dass Sprungziele angeklickter Menülinks nicht von dem oben stets mitwandernden Navigationsmenü verdeckt werden. Das funktioniert prima. Aber seit ich dieses Skript verwende klappen Menüdropdowns im Navigationsmenü nicht mehr von selbst zu. Auch die Adresszeile des Browsers wird nicht mehr aktualisiert. Obwohl per Navigationsmenü andere Anker angesprungen wurden.
*Bootstrap ist ein Satz vorgefertigter CSS-Klassen & JavaScript-Schnipsel um schnell Websites zu erstellen.
Servus io,
das Script des sehr guten Javascript Programmierers fängt so an:
$('.navbar a[href*=\#]:not([href=\#])').click(function() {
Es wird per jQuery versucht, Anker-Links zu selektieren und auf diese eine Funktion zu binden, die beim click-Event ausgeführt wird.
Im ersten Schritt würde ich gucken, ob mit $('.navbar a[href*=\\#]:not([href=\\#])')
auf deiner Seite überhaupt Anker selektiert werden.
this.pathname
Du kannst das leider nicht einfach so in die Konsole packen, ausführen und hoffen, dass was gutes bei rauskommt. this
ist im Falle des Scripts ein Zeiger auf ein a-Element, genauer auf das a-Element, das gerade ein click-Event geschmissen hat.
Laut meiner Web Entwickler Konsole im Browser ist es undefined.
this
ist, wenn einfach in der Konsole ausgeführt: window
window.pathname
ist undefined. Da hat deine Konsole recht.
ciao