域,获取 URL

如何使用 jquery 获得域名?

303364 次浏览

你不需要 jQuery,因为简单的 javascript 就足够了:

alert(document.domain);

看看它的实际效果:

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);

有关进一步的域相关值,请在线查看 window.location的属性。您可能会发现,location.host是一个更好的选择,因为它的内容可能不同于 document.domain。例如,url http://192.168.1.80:8080只有 document.domain中的 ipaddress,但是 location.host中的 ipaddress 和端口号都有。

与之前的答案相似

location.host

位置全局还有更多关于当前 URL 的有趣事实。(协议、主机、端口、路径名、搜索、散列)

如果你需要字符串,像我一样,使用这个函数-它真的工作。

function getHost(url)
{
var a = document.createElement('a');
a.href = url;
return a.hostname;
}

但是请注意,如果有一个子域(例如 www.)在 URL 中,它将随主机名返回。相反,如果没有子域,主机名也不会有子域。

不需要 jQuery,使用简单的 javascript:

document.domain
//If url is something.domain.com this returns -> domain.com
function getDomain() {
return window.location.hostname.replace(/([a-z]+.)/,"");
}
//If url is something.domain.com this returns -> domain.com
function getDomain() {
return window.location.hostname.replace(/([a-zA-Z0-9]+.)/,"");
}

编辑:

如果您不需要支持 IE10,您可以简单地使用: document.location.origin

原始答案,如果您需要遗留支持

你可以通过检查位置对象得到更多信息:

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:"
}

所以:

location.host

你可以使用以下 stackoverflow.com 来完成网址的第一部分:

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

在这种情况下就是 http://stackoverflow.com

不需要 jQuery。

看看这个

alert(window.location.hostname);

这将返回主机名为 www.domain.com

document.baseURI为您提供域 + 端口。如果图像标记使用相对路径,而不是绝对路径,则使用。可能已经解决了,但对其他人可能有用。

您可以使用下面的代码来获取当前 URL 的不同参数

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);
var part = location.hostname.split('.');
var subdomains = part.shift();
var upperleveldomains = part.join('.');

第二级域,您可以使用

var sleveldomain = parts.slice(-2).join('.');