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

7voto

Ich denke, es sollte so einfach sein:

url.split("/")[2]

6voto

ujjal Punkte 225

Wenn Sie den Domänennamen in JavaScript abrufen möchten, verwenden Sie einfach den folgenden Code:

var domain_name = document.location.hostname;
alert(domain_name);

Wenn Sie den URL-Pfad einer Webseite benötigen, damit Sie auf den Web-URL-Pfad zugreifen können, verwenden Sie dieses Beispiel:

var url = document.URL;
alert(url);

4voto

unixdebian11 Punkte 121

Was ist mit dieser Funktion?

window.location.hostname.match(/\w*\.\w*$/gi)[0]

Dies entspricht nur dem Domainnamen, unabhängig davon, ob es sich um eine Subdomain oder eine Hauptdomain handelt

2voto

Micheal J. Roberts Punkte 2806

Wenn man einige der oben genannten Antworten kombiniert, funktioniert das Folgende für mich sehr gut, um Cookies zu zerstören:

  /**
   * Utility method to obtain the domain URI:
   */
  fetchDomainURI() {
    if (window.location.port.length > 0) {
      return window.location.hostname;
    }
    return `.${window.location.hostname.match(/\w*\.\w*$/gi)[0]}`;
  }

Funktioniert für IP-Adressen mit Ports, z. B. 0.0.0.0:8000 usw., sowie für komplexe Domänen wie app.staging.example.com zurückkehrend .example.com => ermöglicht das domänenübergreifende Setzen und Zerstören von Cookies.

2voto

Pavel Poberezhnyi Punkte 723

In meinem Fall ist die beste Übereinstimmung window.location.origin

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