JavaScript判断URL链接是否有效的两种实现方案

作者:木棉

时间:2026-10-26

浏览:519

本文介绍在JavaScript中判断URL链接是否有效的两种常见方法。第一种基于IE特有的ActiveXObject,通过XMLHTTP发送GET请求并检查状态码;第二种利用jQuery的ajax方法,无需额外插件即可实现跨浏览器的链接状态检测。文章提供了具体代码示例及优缺点分析,适用于多服务器部署环境下的链接容错处理。

文章目录

引言与背景

引言


在一个部署于多台服务器的通讯录系统中,主页包含指向该系统的链接。当某台服务器发生故障导致服务不可用时,系统需要能够自动指向其他可用的服务器链接,以确保用户访问的连续性。


基于XMLHTTP的检测方案

解决方案一:使用XMLHTTP对象


下述代码节选自[2]中meizz的回复:


代码如下:

 
<script language= "javascript">
function getURL(url) {
var xmlhttp = new ActiveXObject( "Microsoft.XMLHTTP");
xmlhttp.open("GET", url, false);
xmlhttp.send();
if(xmlhttp.readyState==4) {
if(xmlhttp.Status != 200) alert("不存在");
return xmlhttp.Status==200;
} 
return false;
} 
</script>
<a href= "https://www.jb51.net/aaa.asp " onclick= "return getURL(this.href) "> csdn </a>

该方案的缺点在于使用了ActiveXObject对象,因此仅适用于Internet Explorer浏览器,非IE内核的浏览器无法使用此方法。


基于jQuery的检测方案

解决方案二:基于jQuery扩展


以下内容参考自网络问答资源[1]:


插件主页地址:http://plugins.jquery.com/project/linkchecker


演示页面地址:http://sidashin.ru/linkchecker/


下载的压缩包中包含调用示例代码。


补充说明:


如果仅针对特定URL进行有效性检查,且项目中已引入jQuery,则无需使用额外插件,可直接通过jQuery实现。


代码如下:

 
$.ajax({
url: 'http://some.url.com',
type: 'GET',
complete: function(response) {
if(response.status == 200) {
alert('有效');
} else {
alert('无效');
} 
} 
}); 

参考文档:


[1] http://zhidao.baidu.com/question/138740329.html?push=ql



[2] http://topic.csdn.net/t/20041214/16/3644539.html

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章