Sie können das Objekt window.location verwenden, um Eigenschaften über den Standort abzurufen. Einige bemerkenswerte Eigenschaften sind:
window.location.href
- gibt die gesamte URL der aktuellen Seite zurück
window.location.hostname
- gibt nur den Hostnamen zurück (den Domain-Namen, einschließlich aller Sub-Domains)
window.location.pathname
- gibt nur den Pfad zurück (der Teil, der dem Hostnamen / der Domäne folgt, aber nicht die Abfragezeichenfolge (Teil der URL, die mit einem "?" beginnt) oder den Hash (Teil der URL, die mit einem "# beginnt) "))
Obwohl das alles gut funktioniert, würde ich empfehlen (wie andere bereits erwähnt haben), dass es besser wäre, diese Server-Seite zu machen. Der Server kann solche Sachen normalerweise besser als der Client machen.
Wenn Sie Ihren gesamten JS-Code in einer einzigen zentralen Datei haben, können Sie etwas direkt auf der Seite (auf dem Server) hinzufügen, um ein Ereignis nur für diese Seite auszulösen, die zuverlässiger ist als der JS-Standort schnüffeln:
%Vor% Fügen Sie ein eindeutiges id
-Attribut für das Element <body>
für jede Seite ein und verwenden Sie dieses, um zu bestimmen, was Ihr JS tun soll. Dies ist, was ich mit meiner einzelnen minimierten Datei mache, die (sobald sie viele kleinere JS-Dateien verkettet) im Prinzip wie folgt aussieht:
Aber Sie können genauso einfach eine effizientere einzelne Datei schreiben als:
%Vor%Ich denke, es könnte eine bessere Idee sein, dies auf der Serverseite herauszufinden und die richtigen Funktionen aufzurufen / die richtigen Skripte abhängig von der Seite zu laden. Die Serverseite weiß normalerweise besser, wofür die aktuelle Seite eigentlich ist.
Sie konnten die URL lesen wie ClosureCowboy sagte , aber das ist irgendwie rückwärts. Wenn Sie wissen, dass Sie keine JavaScript-Datei benötigen, fügen Sie sie normalerweise nicht auf der Seite ein.
Behalten Sie Ihren gesamten JS-Code in einer einzigen Datei, lassen Sie ihn auf jeder Seite laden (sowieso zwischengespeichert), aber hier ist der Haken:
NUR rufen Sie die benötigten Funktionen von der Seite auf, die sie benötigt
Der Versuch, die Logik "Welche Seite bin ich an" in die JS-Datei zu schreiben, scheint einfach rückwärts zu sein.
Hier ist ein kleines Stück Code, mit dem ich für jede Seite einen einzigartigen Cookie gesetzt habe. Es sollte gut funktionieren, um genau das zu bekommen, was Sie wollen. Sie können es über einen Schalter ausführen, um verschiedene Aktionen für verschiedene Seiten zu erstellen, oder einfach eine einfache if-Anweisung verwenden, um Code nur auf der Homepage auszuführen.
%Vor%Ich habe die Datei console.log hinzugefügt, damit Sie sehen können, wie sie die Seite in der Firebug-Konsole aufruft. Ändern Sie es in "Alert", wenn Sie möchten, dass es erscheint.
Ihr JavaScript kann die aktuelle URL mit window.location
abrufen.
Tags und Links javascript jquery