在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 |
