2009-08-05 22 views
31

Ich habe schon ziemlich viel js auf meiner Website, so dass ich eine Funktion haben möchte, die den Domain-Namen der aktuellen URL so effizient wie möglich ergreift.Schnellster Weg, um Domain/Host-Namen mit Javascript

Beispiel:

Eingang: https://stackoverflow.com/questions/ask

Ergebnis: stackoverflow.com

Eingang: http://test.stackoverflow.com/questions/ask

Ergebnis: test.stackoverflow.com

Ich denke, der beste Weg, um Start ist mit document.location, aber ich bin uneins, was ich von da an machen kann.

Antwort

39

Versuchen document.location.hostname

3

link text

window.location.hostname und nehmen, was nicht als „www“ benötigt wird

58

Es hängt davon ab, was Sie vorhaben, den Domain-Namen für und insbesondere, ob oder nicht Sie verwenden sich um eine bestimmte Portnummer kümmern. Wenn Sie URL eine Portnummer wie beinhaltet:

http://stackoverflow.com:80/question/ask

document.location.hostname will return "stackoverflow.com"

während document.location.host zurück "stackoverflow.com:80"

Was ist besser geeignet ist, hängt zu deinem Anwendungsfall.

Wenn Sie den Domänennamen untersuchen, um zu wissen, ob ein Skript auf ein Skript/DOM in einem anderen Frame/Fenster zugreifen kann, beachten Sie, dass die Portnummer signifikant ist. Browser erlauben keinen domainübergreifenden Skriptzugriff über Frames/Fenster hinweg. Zum Vergleich von Domain-Namen können unterschiedliche Port-Nummern als unterschiedliche Domains betrachtet werden.

14

Verwenden Sie document.location.origin, wenn Sie den Hostnamen des Ursprungs benötigen (einschließlich http/https)

Verwandte Themen