JavaScript 获取网站协议、域名与端口号的方法

作者:函数茶馆

时间:2026-10-31

浏览:150

本文介绍如何在JavaScript中通过window.location对象提取当前网站的协议、域名和端口号。详细解析protocol、hostname、port及origin属性的返回值差异,特别是默认端口的处理逻辑,并提供组合基础URL的实用代码示例。

文章目录

JS提取当前网页的协议、域名及端口信息

利用JavaScript的window.location对象,可以提取当前网站URL的各项要素,涵盖协议、域名与端口号。

以下代码展示了分别提取上述信息的具体方法:

1. 提取协议(Protocol)

通过window.location.protocol属性获取协议,返回值包含末尾冒号,如http:或https:。

var protocol = window.location.protocol;
console.log(protocol); // 输出:http: 或 https:

2. 提取域名(Hostname)

通过window.location.hostname属性获取域名,结果不包含端口号部分。

var hostname = window.location.hostname;
console.log(hostname); // 输出:例如 example.com

3. 提取端口号(Port)

通过window.location.port属性获取端口号。

若URL未显式指定端口且协议为http,默认端口为80;若为https,默认端口为443。

但在上述默认情况下,window.location.port属性返回空字符串""。

var port = window.location.port;
console.log(port); // 输出:例如 8080 或 ""(如果未指定且为默认端口)

示例:拼接URL各部分

若需将协议、域名及非默认端口号拼接,可参考如下写法:

var protocol = window.location.protocol;
var hostname = window.location.hostname;
var port = window.location.port ? ':' + window.location.port : ''; // 如果端口号不是默认,则添加':'和端口号
var baseUrl = protocol + '//' + hostname + port;
console.log(baseUrl); // 输出:例如 https://example.com:8080 或 http://example.com

注意事项:

  • 此拼接方式适用于构建用于生成新URL的基础地址。
  • 若仅需检查或分析当前页面URL,直接读取window.location属性即可。

4. 获取协议、域名及端口组合(Origin)

通过window.location.origin属性获取完整源地址。

var origin = window.location.origin;
console.log(origin); // 输出:https://example.com:8080

总结

以上内容基于个人经验整理,旨在提供参考,欢迎支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章