在JavaScript中,你可以使用window.location
对象来获取当前页面的URL,并从中提取域名和端口。但是,请注意,如果端口是默认的(例如,HTTP的80或HTTPS的443),则URL中可能不包含端口号。
以下是一个函数,它返回当前页面的域名和端口(如果端口不是默认的):
function getCurrentDomainAndPort() {
var url = window.location.href;
var host = window.location.host; // 获取主机名(包括端口,如果非默认)
var port = window.location.port; // 获取端口号(如果非默认)
// 如果端口是默认的(未定义或为空字符串),则不包括在返回的域名中
if (!port || port === '80' || port === '443') {
return host.split(':')[0]; // 只返回主机名
} else {
return host; // 返回主机名和端口
}
}
console.log(getCurrentDomainAndPort());
这个函数首先尝试获取整个主机名(包括端口,如果非默认)。然后,它检查端口是否为默认的HTTP或HTTPS端口。如果不是,则直接返回整个主机名(包括端口)。如果是,则只返回主机名部分。
注意:window.location.href
包含完整的URL,但在这个例子中我们主要使用window.location.host
来获取主机名和端口(如果非默认)。window.location.port
则直接提供端口号(如果非默认)。