一、JS获取当前域名地址
在前端开发过程中,经常需要获取当前域名地址,可用 window
对象中的 location
属性来获取当前页面的 URL。例如,以下示例将获取当前域名地址:
var currentDomain = window.location.href;
console.log(currentDomain);
上述代码中,window.location.href
返回当前页面的 URL,输出结果如下:
http://www.example.com
此时的结果是完整的 URL 地址(包括域名、路径和参数)。
二、JS获取当前URL
获取当前 URL 可以通过 window.location
对象中的属性实现,例如下面的代码将获取当前 URL:
var currentUrl = window.location.pathname;
console.log(currentUrl);
输出结果仅包括当前路径:
/example.html
如果需要获取完整的 URL,可以使用 window.location.href
属性:
var currentUrl = window.location.href;
console.log(currentUrl);
这将输出当前页面的完整 URL 地址:
http://www.example.com/example.html
三、JS截取URL域名
如果需要仅获取当前页面的域名,可以使用正则表达式和 string.replace()
方法来实现。例如,以下示例将获取当前域名:
var currentDomain = window.location.href.replace(/^(https?|ftp):\/\/(.+)$/i,'$2');
console.log(currentDomain);
输出结果仅包括当前域名:
www.example.com
四、JS获取域名和端口
在一些特殊情况下,需要同时获取域名和端口,可以使用 window.location.host
属性来实现,例如以下代码将返回当前域名和端口:
var currentHost = window.location.host;
console.log(currentHost);
输出结果如下:
www.example.com:80
如果当前页面使用的是 HTTPS 协议,则输出结果中会包括 443 端口。
五、JS获取网址域名
在涉及跨域操作的场景中,需要获取网址域名而非当前页面的域名,可以使用 document.referrer
属性来获取。例如以下代码将返回包含来源页面域名的 URL:
var referrer = document.referrer;
console.log(referrer);
如果当前页面是通过直接输入 URL 地址进入的,将无法获取到引用来源。
六、JS获取协议和域名
有时需要获取协议和域名,可以使用 window.location.origin
属性来实现。例如以下代码将输出当前页面的协议(HTTP 或 HTTPS)和域名组成的字符串:
var currentProtocolAndDomain = window.location.origin;
console.log(currentProtocolAndDomain);
输出结果如下:
http://www.example.com
七、JS如何获取域名
获取域名和主机名的方法存在细微的差别。在这里我们介绍一下获取主机名和二级域名的方法 —— 使用 window.location.hostname
属性。例如以下代码将输出当前页面的主机名:
var currentHostname = window.location.hostname;
console.log(currentHostname);
输出结果仅包括主机名(不包括端口):
www.example.com
八、JS接口安全域名怎么获取
为了保证在网站中使用 API 接口的安全性,一些第三方提供商要求只允许授权域名调用其 API 接口。在这种情况下,需要获取当前页面的安全域名。可以使用 window.location.origin
属性来获取,或者使用正则表达式从当前页面 URL 中截取域名。例如,以下代码使用正则表达式获取当前安全域名:
var currentURL = window.location.href;
var pattern =/^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/;
var authorizationDomain = pattern.exec(currentURL)[0];
console.log(authorizationDomain);
上述代码中,使用正则表达式第一个匹配项就是当前页面的安全域名,输出结果形如以下格式:
http://www.example.com
九、JS获取其他域名cookie
如果需要从其他域名获取 cookie,可以在请求头中添加 withCredentials
字段,以便在 ajax 请求时携带 cookie。例如以下代码进行一个 ajax 请求:
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.open('GET', 'https://www.example.com/api', true);
xhr.send();
在上述代码中,withCredentials
字段设置为 true
将启用 cookie 携带功能。
总结
以上详细介绍了从 JS 获取当前 URL 域名的多个方面,包括获取当前域名地址、获取当前 URL、截取 URL 域名、获取域名和端口、获取网址域名、获取协议和域名、获取主机名和二级域名、获取接口安全域名以及获取其他域名 cookie。以上内容对于前端开发过程中获取 URL 域名非常有用。