JS判断URL是否可访问及跨域检测方案

作者:纸飞机

时间:2026-10-30

浏览:621

本文介绍如何使用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/" />
  &nbsp;&nbsp;<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是否可访问并支持跨域检测的完整实现方案,供读者参考使用。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章