JS判断URL是否可访问及跨域检测方案
作者:纸飞机时间:2026-10-30 14:01:01浏览:622
本文介绍如何使用JavaScript检测指定URL是否可访问,重点解决跨域请求的限制问题。通过尝试发起轻量级网络请求并捕获异常,可判断目标地址的连通性。文章提供了基于现代浏览器API的实现思路,适用于前端环境下的资源可用性验证场景。
JS判断URL是否可访问的实现方法
具体实现逻辑如下所示:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="js判断URL是否可访问" />
<title>js判断URL是否可访问</title>
</head>
<body>
<div>检验的url地址:</div>
<input type="text" style="width:600px;height:30px;font-size:14px;" id="urlText" value="https://www.baidu.com/" />
<input type="button" value="判断是否可访问" onclick="getURL()" />
<br />
<div id="msg1"></div>
<div id="msg"></div>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
function getURL() {
$("#msg").html("");
var url = $("#urlText").val();//请求的url
var dateTime = disptime();
var time2 = dateTime.DateTime;
$("#msg1").html("发送时间:" + time2);
$.ajax({
type: 'get',
url: url,
cache: false,
dataType: "jsonp", //跨域采用jsonp方式
processData: false,
timeout:10000, //超时时间,毫秒
complete: function (data) {
var dateTime2 = disptime();
var time22 = dateTime2.DateTime;
var htmlTxt =[];
if (data.status==200) {
htmlTxt.push("成功<br/>");
} else {
htmlTxt.push("失败<br/>");
}
htmlTxt.push("readyState=" + data.readyState + "<br/>status=" + data.status + "<br/>statusText=" + data.statusText + "<br/>响应时间:" + time22);
var htmlString = htmlTxt.join('');
$("#msg").html(htmlString);
}
});
}
function disptime() {
var date = new Date();
var yyyy = date.getFullYear();//四位年份
var month = date.getMonth() + 1;//月份 0-11
var day = date.getDate();//日
var HH = date.getHours();//时
var minute = date.getMinutes();//分钟
var second = date.getSeconds();//秒
var milliseconds=date.getMilliseconds();//毫秒
if (month < 10) {
month = "0" + month;
}
if (day < 10) {
day = "0" + day;
}
if (HH < 10) {
HH = "0" + HH;
}
if (minute < 10) {
minute = "0" + minute;
}
if (second < 10) {
second = "0" + second;
}
var time = yyyy + "-" + month + "-" + day + " " + HH + ":" + minute + ":" + second + " " + milliseconds;
var timeTxt = yyyy + month + day + HH + minute + second;
var time = {
DateTime: time,
TimeTxt: timeTxt
}
return time;
}
</script>
</body>
</html>
上述内容即为JavaScript判断URL是否可访问并支持跨域检测的完整实现方案,供读者参考使用。
作者最新文章
JS动态构建复杂嵌套JSON对象的方法
2026-11-05 15:41:52
JS负数取余为什么是负数?详解余数与模运算区别
2026-11-05 13:34:41
JS 解压出现乱码或报错怎么解决?
2026-11-05 12:32:38
JS 中 startsWith、indexOf 与正则判断字符串前缀的对比
2026-11-04 22:19:43
JS解析Excel后怎么将数据转换为JSON格式
2026-11-04 20:58:28
