location.host vs location.hostname und browserübergreifende Kompatibilität?
Ist die effektivste vs prüfen, ob der user-agent den Zugriff auf über die richtige domain.
Möchten wir Ihnen zeigen, eine kleine js-basierte " top-bar im Stil der Warnung, wenn Sie den Zugriff auf die Domäne, die über eine Art web-proxy (wie es dazu neigt zu brechen, die js).
Wir uns Gedanken über Sie, die folgenden:
var r = /.*domain\.com$/;
if (r.test(location.hostname)) {
//showMessage ...
}
Würden kümmert sich um alle subdomains, die wir jemals verwenden.
Welche sollten wir verwenden host oder hostname?
In Firefox 5 und Chrome 12:
console.log(location.host);
console.log(location.hostname);
.. zeigt das gleiche für beide.
Ist, weil der port nicht tatsächlich in der Adressleiste?
W3Schools sagt host enthält den port.
Sollte Lage.host/hostname überprüft werden oder können wir ziemlich sicher sein in IE6+ und all die anderen existieren?
InformationsquelleAutor der Frage anonymous-one | 2011-07-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als kleine Gedächtnisstütze: die interaktive link Anatomie
--
Kurz (ausgehend von einem Ort der
http://example.org:8888/foo/bar#bang
):hostname
gibt Sieexample.org
host
gibt Sieexample.org:8888
InformationsquelleAutor der Antwort abernier
host beinhaltet nur die port-Nummer, wenn es angegeben ist. Wenn keine Portnummer explizit in der URL, dann gibt es das gleiche wie hostname sein. Sie wählen, ob Sie Pflege entsprechend der port-Nummer oder nicht. Sehen https://developer.mozilla.org/en/window.location für mehr info.
Ich würde davon ausgehen, Sie wollen hostname nur der name der Website.
InformationsquelleAutor der Antwort jfriend00
Wenn Ihr besteht darauf zu verwenden, die
window.location.origin
Sie können dies oben in deinem code, vor dem Lesen der
origin
Lösung
PS: Für das Protokoll, es war eigentlich die ursprüngliche Frage. Sie wahrscheinlich bearbeitet es bereits. 🙂
InformationsquelleAutor der Antwort Kenneth Palaganas
Ihre erste Frage wurde oben beantwortet. Ich wollte nur darauf hinweisen, dass die regex-du verwendest hat einen bug. Wird es auch gelingen, auf
foo-domain.com
ist nicht eine subdomain vondomain.com
Was Sie wirklich wollen, ist dies:
InformationsquelleAutor der Antwort bluesmoon
MDN: https://developer.mozilla.org/en/DOM/window.location
Es scheint, dass Sie das gleiche Ergebnis für beide, aber
hostname
enthält eindeutige host-name ohne eckige Klammern oder port-Nummer.InformationsquelleAutor der Antwort Igor Dymov
Nur um ein Hinweis, dass der Google Chrome-browser auf dem origin-Attribut für die Position. das gibt Ihnen die gesamte domain aus dem Protokoll der port-Nummer, wie in der folgenden Abbildung.
InformationsquelleAutor der Antwort Gopi P