一、JS获取域名和端口
在前端开发中,有时需要获取当前页面的域名和端口。可以使用JavaScript语言中的 window
对象中的 location
属性来获取。location
对象包含了当前页面 URL 的信息,包括 protocol
、host
、hostname
、port
、pathname
、search
和 hash
等属性。其中,host
属性包含了域名和端口号。
// 获取当前域名和端口号
var domain = window.location.host;
console.log('当前域名和端口号: ' + domain);
如果只需要获取域名,可以使用 hostname
属性。
// 获取当前域名
var domainName = window.location.hostname;
console.log('当前域名: ' + domainName);
二、JS安全域名设置
JS中的安全域名设置是为了在跨域请求中防止被攻击者伪造接口请求而设定的。如果不设置安全域名,在 jQuery 等库中的 AJAX 请求中就可以很容易被攻击者伪造接口请求,从而进行危险操作。JS 中可以通过 document
对象中的 domain
属性进行安全域名的设置。
// 设置安全域名
document.domain = 'baidu.com';
需要注意的是,设置的安全域名必须与访问的页面域名或者父级页面域名相同,否则会出现访问被拒绝的情况。
三、JS获取变量名
在 JS 中,获取变量名比较困难,因为 JS 中的变量名在代码运行时就已经转变成了相应的值。但是,可以通过将变量传递给一个函数,并将该变量转换为字符串来获取变量名。
// 获取变量名
function getVarName(variable) {
return Object.keys({ variable })[0];
}
var test = 'Hello World';
console.log('变量名为: ' + getVarName(test));
四、JS获取当前域名地址
JS 中可以使用 window
对象中的 location
属性来获取当前页面的 URL 地址。在这个 URL 地址中,host
位置即是当前页面的域名。
// 获取当前页面URL
var currentUrl = window.location.href;
console.log('当前页面URL为: ' + currentUrl);
// 获取当前页面域名
var currentDomain = window.location.host;
console.log('当前页面域名为: ' + currentDomain);
五、JS获取类名
在 JS 中,可以通过 getElementsByClassName
方法或 querySelectorAll
方法来获取指定类名的 DOM 元素。
// 获取指定类名的DOM元素
var elements = document.getElementsByClassName('test');
for (var i = 0; i < elements.length; i++) {
console.log('类名为test的DOM元素为: ' + elements[i]);
}
六、JS获取网址域名
JS 中可以通过正则表达式来获取网址的域名。代码如下:
// 获取网址域名
function getDomainFromUrl(url) {
var regex = /^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)/im;
return url.match(regex)[1];
}
var exampleUrl = 'https://www.google.com/search?q=javascript&oq=javascript&aqs=chrome.0.35i39i70i256j35i39l2j46j69i60.5891j1j7&sourceid=chrome&ie=UTF-8';
console.log('网址域名为: ' + getDomainFromUrl(exampleUrl));
七、JS获取当前域名
在 JS 中,可以通过 window.location.host
属性来获取当前域名。
// 获取当前域名
var currentDomain = window.location.host;
console.log('当前域名为: ' + currentDomain);
八、JS获取其他域名 cookie
在 JS 中,客户端不能访问当前域以外的 cookie,否则会因为浏览器的安全机制而被禁止。但是,客户端可以在请求头中加入相关信息,通过后端进行访问以实现跨域。
// 通过后端实现获取其他域名cookie
$.ajax({
url: 'http://otherdomain.com',
xhrFields: {
withCredentials: true
},
success: function () {
// 获取otherdomain的cookie
var otherDomainCookie = document.cookie;
console.log('otherdomain的cookie: ' + otherDomainCookie);
}
});
九、JS如何获取域名
JS 中可以通过 window
对象中的 location
属性来获取当前页面的 URL,再通过字符串方法进行截取,即可获得当前页面的域名。
// 获取当前域名
var currentUrl = window.location.href;
var currentDomain = currentUrl.split('/')[2];
console.log('当前域名为: ' + currentDomain);
十、JS接口安全域名是什么
JS 接口安全域名是指通过 HTTP 请求等方式,服务器返回的数据安全域名。在前后端分离的架构中,前端通过 HTTP 请求获取数据时,需要通过设置 JS 接口安全域名来防范攻击者篡改接口请求。 例如,阿里云 API 接口数据的获取方式为淘宝账号的安全域名+传递参数,即可通过 API 获取数据。
// 阿里云API数据获取方式
https://gw.alicdn.com/bao/https://freeapi.aliyun.com/:appId/:appSecret/:path