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.com3. 提取端口号(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总结
以上内容基于个人经验整理,旨在提供参考,欢迎支持本站。
作者最新文章
JS大数值转字符串出现科学计数法怎么办
2026-11-05 17:09:21
JS split切割后出现空字符串怎么过滤
2026-11-05 16:00:30
在 React 或 Vue 项目中封装使用 JS 节流防抖
2026-11-05 15:27:29
JavaScript中怎么将带小数的字符串转为整数?
2026-11-05 14:32:38
怎么用JavaScript策略模式重构电商促销计算逻辑?
2026-11-05 14:01:09
