我的网站上已经有很多js了,所以我希望有一个能够尽可能高效地抓取当前网址的域名的函数。
示例:
输入:https://stackoverflow.com/questions/ask
结果:stackoverflow.com
输入:http://test.stackoverflow.com/questions/ask
结果:test.stackoverflow.com
我想最好的开始方式是使用document.location,但是我很难从那里做什么。
答案 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)
window.location.hostname
并将不需要的内容视为“www”