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

作者:函数茶馆时间:2026-10-31 18:32:01浏览:151

本文介绍如何在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

总结

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

作者最新文章