我已经在我的网站上有相当多的js,所以我想要一个能够高效地获取当前url域名的函数。
例如:
输入:https://stackoverflow.com/questions/ask
输出:stackoverflow.com
输入:http://test.stackoverflow.com/questions/ask
输出:test.stackoverflow.com
我猜最好的方法是从document.location开始,但我不知道该怎么做。
我已经在我的网站上有相当多的js,所以我想要一个能够高效地获取当前url域名的函数。
例如:
输入:https://stackoverflow.com/questions/ask
输出:stackoverflow.com
输入:http://test.stackoverflow.com/questions/ask
输出:test.stackoverflow.com
我猜最好的方法是从document.location开始,但我不知道该怎么做。
这取决于您将要使用的域名以及是否关心指定端口号。如果您的URL包括端口号,例如:
http://stackoverflow.com:80/question/ask
document.location.hostname
将返回 "stackoverflow.com"
而 document.location.host
将返回 "stackoverflow.com:80"
哪一个更好取决于您的使用情况。
如果您在检查域名以了解脚本是否能够访问另一个框架/窗口中的脚本/DOM,则请注意端口号的重要性。浏览器不会允许跨框架/窗口跨越域名访问脚本。为了比较域名,不同的端口号可以被视为不同的域名。
document.location.hostname
。如果您需要 origin 的主机名(包括 http/https),请使用 document.location.origin
。