Angenommen, Sie haben eine Seite mit dieser Adresse : http://sub.domain.com/virtualPath/page.htm
. Verwenden Sie den folgenden Seitencode, um diese Ergebnisse zu erzielen:
window.location.host
: du wirst sub.domain.com:8080
oder bekommensub.domain.com:80
window.location.hostname
: Du wirst kriegen sub.domain.com
window.location.protocol
: Du wirst kriegen http:
window.location.port
: du wirst 8080
oder bekommen80
window.location.pathname
: Du wirst kriegen /virtualPath
window.location.origin
: du wirst http://sub.domain.com
***** bekommen
Update: über die .origin
***** Wie in der Referenz angegeben , ist die Browserkompatibilität für window.location.origin
nicht klar. Ich habe es in Chrom überprüft und es wurde zurückgegeben, http://sub.domain.com:port
wenn der Port alles andere als 80 ist und http://sub.domain.com
wenn der Port 80 ist.
Besonderer Dank geht an @torazaburo für die Erwähnung.
window.location.origin
ist in IE9 undefiniert (laut Link ist es IE11 +). Diese Antwort hat geholfen.Sie können das Standortprotokoll und den Host verketten:
Angenommen, eine URL
'http://stackoverflow.com/questions'
wird zurückgegeben'http://stackoverflow.com'
quelle
Verwenden Sie das
document.location
Objekt und seinehost
oderhostname
Eigenschaften.quelle
Die akzeptierte Antwort hat bei mir nicht funktioniert, da ich mit beliebigen willkürlichen URLs arbeiten wollte, nicht nur mit der aktuellen Seiten-URL.
Schauen Sie sich das
URL
Objekt an :quelle
Es gibt zwei Möglichkeiten. Die erste ist eine Variante einer anderen Antwort hier, aber diese berücksichtigt nicht standardmäßige Ports:
Aber ich bevorzuge diese einfachere Methode (die mit jeder URI-Zeichenfolge funktioniert):
quelle
verwenden
und für: " http://aaa.bbb.ccc.ddd.com/sadf.aspx?blah "
Sie erhalten: http://aaa.bbb.ccc.ddd.com/
quelle
Versuchen
oder
quelle
Es gibt einen anderen Hack, den ich verwende und der in keiner StackOverflow-Antwort gesehen wurde: Wenn Sie das Attribut "src" eines Bildes verwenden, erhalten Sie den vollständigen Basispfad Ihrer Site. Zum Beispiel :
Auf einer URL wie
http://domain.com/somesite/index.html
,root
wird festgelegt werdenhttp://domain.com/somesite/
. Dies funktioniert auch für localhost oder eine gültige Basis-URL.Beachten Sie, dass dies eine fehlgeschlagene HTTP-Anforderung auf dem Computer verursacht
$
Dummy-Image verursacht. Sie können stattdessen ein vorhandenes Bild verwenden, um dies mit nur geringfügigen Codeänderungen zu vermeiden.Eine andere Variante verwendet einen Dummy-Link ohne Nebenwirkungen auf HTTP-Anforderungen:
Ich habe es jedoch nicht in jedem Browser getestet.
quelle
Überprüfen Sie dies:
Dies gibt den Hostnamen als zurück
www.domain.com
und:
gibt den Domainnamen mit dem Port like zurück
www.example.com:80
Eine vollständige Referenz finden Sie auf der Mozilla-Entwicklerseite .
quelle
Ich möchte etwas spezifizieren. Wenn jemand die gesamte URL mit dem von mir benötigten Pfad erhalten möchte, kann er Folgendes verwenden:
quelle
Ich weiß, dass dies etwas spät ist, aber ich habe eine saubere kleine Funktion mit einer kleinen ES6-Syntax erstellt
Es könnte auch in ES5 wie geschrieben werden
Natürlich unterstützt IE nicht
Object.assign
, aber in meiner Arbeit spielt das keine Rolle.quelle
Regex bietet viel mehr Flexibilität.
quelle