Antworten:
Sie benötigen dafür kein jQuery, da einfaches Javascript ausreicht:
alert(document.domain);
Sehen Sie es in Aktion:
console.log("Output;");
console.log(location.hostname);
console.log(document.domain);
alert(window.location.hostname)
console.log("document.URL : "+document.URL);
console.log("document.location.href : "+document.location.href);
console.log("document.location.origin : "+document.location.origin);
console.log("document.location.hostname : "+document.location.hostname);
console.log("document.location.host : "+document.location.host);
console.log("document.location.pathname : "+document.location.pathname);
Weitere domänenbezogene Werte finden Sie in den Eigenschaften von window.location
Online. Möglicherweise location.host
ist dies eine bessere Option, da der Inhalt davon abweichen kann document.domain
. Beispielsweise enthält die URL http://192.168.1.80:8080
nur die IP-Adresse document.domain
, aber sowohl die IP-Adresse als auch die Portnummer location.host
.
window.location.host
(wie bibby geschrieben). Ich habe gerade einen Fehler behoben document.domain
, bei dem anstelle der Subdomain die Stammdomäne festgelegt wurde.
document.location.origin
kehrt zurück undefined
.
BEARBEITEN:
Wenn Sie IE10 nicht unterstützen müssen, können Sie einfach Folgendes verwenden: document.location.origin
Ursprüngliche Antwort, wenn Sie Unterstützung benötigen
All dies und mehr erhalten Sie, indem Sie das Standortobjekt untersuchen:
location = {
host: "stackoverflow.com",
hostname: "stackoverflow.com",
href: "http://stackoverflow.com/questions/2300771/jquery-domain-get-url",
pathname: "/questions/2300771/jquery-domain-get-url",
port: "",
protocol: "http:"
}
so:
location.host
wäre die Domain, in diesem Fall stackoverflow.com. Für den vollständigen ersten Teil der URL können Sie Folgendes verwenden:
location.protocol + "//" + location.host
Dies wäre in diesem Fall http://stackoverflow.com
Keine jQuery erforderlich.
document.location.origin
was führen https://stackoverflow.com . Diese Methode enthält das entsprechende Protokoll
Wenn Sie wie ich einen String benötigen, verwenden Sie diese Funktion - sie funktioniert wirklich.
function getHost(url)
{
var a = document.createElement('a');
a.href = url;
return a.hostname;
}
Beachten Sie jedoch, dass eine Subdomain (z. B. www.) In der URL mit dem Hostnamen zurückgegeben wird. Wenn es dagegen keine Subdomain gibt, hat der Hostname auch keine.
getHost('http://www.google.com') == 'google.com'
während dies wahr wäre:getHost('http://google.com') == 'google.com'
Sie können die folgenden Codes verwenden, um verschiedene Parameter der aktuellen URL abzurufen
alert("document.URL : "+document.URL);
alert("document.location.href : "+document.location.href);
alert("document.location.origin : "+document.location.origin);
alert("document.location.hostname : "+document.location.hostname);
alert("document.location.host : "+document.location.host);
alert("document.location.pathname : "+document.location.pathname);
jQuery wird nicht benötigt, verwenden Sie einfaches Javascript:
document.domain
var part = location.hostname.split('.');
var subdomains = part.shift();
var upperleveldomains = part.join('.');
Second-Level-Domain, die Sie möglicherweise verwenden
var sleveldomain = parts.slice(-2).join('.');
Überprüfen Sie dies
alert(window.location.hostname);
Dies gibt den Hostnamen als www.domain.com zurück
Soweit ich sehe, hat niemand die jquery-Lösung gepostet, außer dem nativen Javascript-Code.
Sie müssen die URL als Zeichenfolge übergeben, damit der Host ohne Verwendung von regulärem Ausdruck abgerufen wird.
function getHostFromUrl(urlString) {
return $a = $('<a>', {
'href': urlString
}).prop('host');
}
//If url is something.domain.com this returns -> domain.com
function getDomain() {
return window.location.hostname.replace(/([a-zA-Z0-9]+.)/,"");
}
Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
- Jamie Zawinski