js获取当前网站的协议、域名、端口号
在javascript中,你可以通过window.location对象来获取当前网站的url信息,包括协议(protocol)、域名(hostname)、端口号(port)等。
以下是如何分别获取这些信息的示例:
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。
- 如果你的目标是检查或分析当前页面的url,则直接访问window.location的各个属性通常就足够了。
4. 获取协议域名端口号一起(origin)
端口号可以通过window.location.origin获取。
var origin = window.location.origin; console.log(origin); // 输出:https://example.com:8080
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论