使用javascript获取域/主​​机名的最快方法

时间:2009-08-05 18:06:41

标签: javascript

我的网站上已经有很多js了,所以我希望有一个能够尽可能高效地抓取当前网址的域名的函数。

示例:

输入:https://stackoverflow.com/questions/ask

结果:stackoverflow.com

输入:http://test.stackoverflow.com/questions/ask

结果:test.stackoverflow.com

我想最好的开始方式是使用document.location,但是我很难从那里做什么。

4 个答案:

答案 0 :(得分:58)

这取决于您将使用的域名,具体取决于您是否关心指定的端口号。如果您的URL包含端口号,如:

http://stackoverflow.com:80/question/ask

document.location.hostname将返回“stackoverflow.com”

while,document.location.host将返回“stackoverflow.com:80”

哪个更好取决于您的使用案例。

如果您正在检查域名以了解脚本是否能够访问另一个框架/窗口中的脚本/ DOM,请注意端口号是否重要。浏览器不允许跨框架/窗口访问跨域脚本。为了比较域名,可以将不同的端口号视为不同的域。

答案 1 :(得分:43)

尝试document.location.hostname

答案 2 :(得分:15)

如果您需要来源的主机名(包括http / https)

,请使用document.location.origin

答案 3 :(得分:4)

link text

window.location.hostname并将不需要的内容视为“www”