在JavaScript中,你可以通过window.location
对象来获取当前网站的URL信息,包括协议(protocol)、域名(hostname)、端口号(port)等。以下是如何分别获取这些信息的示例:
1. 获取协议(Protocol)
协议部分可以通过window.location.protocol
获取,这将返回包括冒号(:)的协议名称,例如http:
或https:
。
javascript复制代码
var protocol = window.location.protocol; | |
console.log(protocol); // 输出:http: 或 https: |
2. 获取域名(Hostname)
域名部分可以通过window.location.hostname
获取,这将返回不包括端口号的域名。
javascript复制代码
var hostname = window.location.hostname; | |
console.log(hostname); // 输出:例如 example.com |
3. 获取端口号(Port)
端口号可以通过window.location.port
获取。如果URL中未明确指定端口号,并且协议是http
,则端口号默认为80
;如果协议是https
,则端口号默认为443
。然而,window.location.port
在这些情况下将不会返回默认值,而是返回空字符串""
。
javascript复制代码
var port = window.location.port; | |
console.log(port); // 输出:例如 8080 或 ""(如果未指定且为默认端口) |
示例:组合URL部分
如果你想要将协议、域名和端口号(如果非默认)组合起来,你可以这样做:
javascript复制代码
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。如果你的目标是检查或分析当前页面的URL,则直接访问window.location
的各个属性通常就足够了。
4. 获取协议域名端口号一起(Origin)
端口号可以通过window.location.
origin获取。
javascript复制代码
var origin = window.location. origin; | |
console.log( origin); // 输出: https://example.com:8080 |