529 Stimmen

Den aktuellen Domänennamen mit Javascript abrufen (nicht den Pfad usw.)

Ich habe vor, zwei Domänennamen für dieselbe Website zu kaufen. Je nachdem, welche Domäne verwendet wird, möchte ich leicht unterschiedliche Daten auf der Seite bereitstellen. Gibt es eine Möglichkeit, den tatsächlichen Domänennamen zu ermitteln, von dem die Seite geladen wird, damit ich weiß, wie ich meinen Inhalt ändern muss?

Ich habe mich nach solchen Dingen umgesehen, aber das meiste davon funktioniert nicht so, wie ich es möchte.

Zum Beispiel bei der Verwendung von

document.write(document.location)

auf JSFiddle er gibt zurück

http://fiddle.jshell.net/_display/

d.h. der eigentliche Pfad oder was auch immer das ist.

1 Stimmen

Ich bin mir nicht sicher, ob ich genau verstehe, was Sie vorhaben, aber Sie sollten sich vielleicht einmal mit MDN in diesem Zusammenhang

2 Stimmen

Ein bisschen vom Thema abschweifend, aber Sie könnten auch in Erwägung ziehen, Subdomains zu haben, anstatt zwei separate Domainnamen. Etwas wie premium.random.com y free.random.com

13voto

Ricardo França Punkte 2835

Wenn Sie einen vollständigen Domänenursprung wünschen, können Sie diesen verwenden:

document.location.origin

Und wenn Sie nur die Domäne erhalten möchten, können Sie genau dies verwenden:

document.location.hostname

Aber Sie haben auch andere Möglichkeiten, sehen Sie sich die Immobilien in an:

document.location

13voto

Ethan Punkte 18116

Da in dieser Frage nach dem Domänennamen gefragt wird, no Hostname, sollte die richtige Antwort lauten

window.location.hostname.split('.').slice(-2).join('.')

Dies funktioniert bei Hostnamen wie www.example.com auch.

12voto

Iman Sedighi Punkte 6680

Sie können es von Standortobjekt in Javascript leicht erhalten:

Die URL dieser Seite lautet zum Beispiel:

http://www.stackoverflow.com/questions/11401897/get-the-current-domain-name-with-javascript-not-the-path-etc

Dann können wir den genauen Bereich mit den folgenden Eigenschaften des Standortobjekts ermitteln:

location.host = "www.stackoverflow.com"
location.protocol= "http:"

können Sie die gesamte Domäne mit machen:

location.protocol + "//" + location.host

Was in diesem Beispiel Folgendes ergibt http://www.stackoverflow.com

Darüber hinaus können wir die vollständige URL und auch den Pfad mit anderen Eigenschaften des Standortobjekts erhalten:

location.href= "http://www.stackoverflow.com/questions/11401897/get-the-current-domain-name-with-javascript-not-the-path-etc"    
location.pathname= "questions/11401897/get-the-current-domain-name-with-javascript-not-the-path-etc"

9voto

dmck Punkte 7661

Wenn Sie nur an dem Domänennamen interessiert sind und die Subdomäne ignorieren wollen, müssen Sie sie aus host y hostname .

Der folgende Code tut dies:

var firstDot = window.location.hostname.indexOf('.');
var tld = ".net";
var isSubdomain = firstDot < window.location.hostname.indexOf(tld);
var domain;

if (isSubdomain) {
    domain = window.location.hostname.substring(firstDot == -1 ? 0 : firstDot + 1);
}
else {
  domain = window.location.hostname;
}

http://jsfiddle.net/5U366/4/

7voto

Dancrumb Punkte 24965

Verwenden Sie

document.write(document.location.hostname)

window.location hat eine ganze Reihe von Eigenschaften. Siehe aquí für eine Liste von ihnen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X