JS 检查跨域链接是否正常打开
时间: 2023-08-31 20:44:38 浏览: 35
在 JavaScript 中,我们可以通过创建一个新的 `XMLHttpRequest` 对象来检查跨域链接是否正常打开。下面是一个简单的示例代码:
```javascript
const xhr = new XMLHttpRequest();
xhr.open('GET', 'https://example.com', true);
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
console.log('链接正常打开!');
} else {
console.log('链接无法打开!');
}
}
};
xhr.send();
```
在上面的代码中,我们创建了一个新的 `XMLHttpRequest` 对象,并使用 `open` 方法打开了一个 GET 请求来访问指定的链接。然后,我们监听了 `onreadystatechange` 事件,并在请求完成后检查了响应的状态码,从而判断链接是否正常打开。如果状态码为 200,说明链接正常打开,否则链接无法打开。
相关问题
检查跨域网址是否可以打开的代码
以下是一段用 JavaScript 实现的检查跨域网址是否可以打开的代码,需要注意的是,这段代码需要在服务器端执行,否则会因为浏览器的同源策略而无法正常工作。
```javascript
function checkCrossDomain(url) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
console.log(url + ' is open!');
} else {
console.log(url + ' is not open!');
}
}
};
xhr.send();
}
```
这段代码通过发送一个 GET 请求来检查指定的网址是否可以打开,如果返回状态码为 200,则说明该网址可以打开;否则说明该网址无法打开。需要注意的是,由于跨域限制,这段代码无法检查跨域网址是否可以打开。
JS 判断跨域名链接是否正常打开
在 JavaScript 中,可以使用 XMLHttpRequest 对象来检查跨域链接是否正常打开。这里有一个简单的示例代码:
```javascript
function checkCrossDomainLink(link) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState === 4 && this.status === 200) {
alert('链接正常打开!');
} else if (this.readyState === 4 && this.status !== 200) {
alert('链接无法打开!');
}
};
xhr.open('GET', link, true);
xhr.send();
}
// 调用函数检查链接是否正常打开
checkCrossDomainLink('http://www.example.com');
```
在这个例子中,我们定义了一个名为`checkCrossDomainLink`的函数,它接受一个链接参数。函数创建一个 XMLHttpRequest 对象并使用 `open` 和 `send` 方法发送一个 GET 请求到该链接。然后,我们使用 `onreadystatechange` 事件监听器来检查响应状态并在链接正常或无法打开时显示相应的消息。
需要注意的是,由于浏览器的安全策略限制,XMLHttpRequest 对象只能访问同源链接。如果你要检查的链接不是同源的,你需要使用 JSONP 或跨域资源共享 (CORS) 等技术。