JavaScript判断一个URL链接是否有效的实现方法


Posted in Javascript onOctober 08, 2011

引言
有一个通讯录系统, 同时部署在几台服务器上, 但是主页上有个通讯录的链接, 链接到这个系统. 问题是, 有时候链接指向的服务器出故障, 于是希望在这个服务器出故障(服务不可用)的情况下, 能指向其他服务器的链接.
解决方案一: 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://3water.com/aaa.asp " onclick= "return getURL(this.href) "> csdn </a>

缺点: 使用ActiveXObject, 所以是IE Only. 非IE内核浏览器不可用.
解决方案二: jQuery扩展
以下内容参考[1]
主页: http://plugins.jquery.com/project/linkchecker
Demo 页面: http://sidashin.ru/linkchecker/
下载的压缩包内有调用样例.
补充:
如果针对一个具体的URL,光用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

Javascript 相关文章推荐
JavaScript中如何通过arguments对象实现对象的重载
May 12 Javascript
jquery制作多功能轮播图插件
Apr 02 Javascript
JS中setTimeout的巧妙用法前端函数节流
Mar 24 Javascript
javascript HTML5 canvas实现打砖块游戏
Jun 18 Javascript
jQuery html表格排序插件tablesorter使用方法详解
Feb 10 Javascript
node.js实现微信JS-API封装接口的示例代码
Sep 06 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
Nov 29 Javascript
Angularjs 根据一个select的值去设置另一个select的值方法
Aug 13 Javascript
记录vue做微信自定义分享的一些问题
Sep 12 Javascript
小程序input数据双向绑定实现方法
Oct 17 Javascript
微信小程序间使用navigator跳转传值问题实例分析
Mar 27 Javascript
Openlayers显示地理位置坐标的方法
Sep 28 Javascript
jQuery EasyUI API 中文文档 - ComboBox组合框
Oct 07 #Javascript
JS 如果改变span标签的是否隐藏属性
Oct 06 #Javascript
js弹出层之1:JQuery.Boxy (二)
Oct 06 #Javascript
jQuery EasyUI API 中文文档 - ValidateBox验证框
Oct 06 #Javascript
jQuery AjaxQueue改进步骤
Oct 06 #Javascript
json2.js的初步学习与了解
Oct 06 #Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
Oct 06 #Javascript
You might like
ajax在joomla中的原生态应用代码
2012/07/19 PHP
PHP序列化操作方法分析
2016/09/28 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
jquery 简短几句代码实现给元素动态添加及获取提示信息
2011/09/01 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
跟我学Nodejs(三)--- Node.js模块
2014/05/25 NodeJs
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
JavaScript学习小结(一)——JavaScript入门基础
2015/09/02 Javascript
基于jquery实现页面滚动时顶部导航显示隐藏
2020/04/20 Javascript
jQuery form插件之formDdata参数校验表单及验证后提交
2016/01/23 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
全面解析Bootstrap中transition、affix的使用方法
2016/05/30 Javascript
简单实现jquery焦点图
2016/12/12 Javascript
javascript正则表达式模糊匹配IP地址功能示例
2017/01/06 Javascript
jquery加载单文件vue组件的方法
2017/06/20 jQuery
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
Element实现表格嵌套、多个表格共用一个表头的方法
2020/05/09 Javascript
jQuery 选择器用法实例分析【prev + next】
2020/05/22 jQuery
vue如何使用rem适配
2021/02/06 Vue.js
[32:47]完美世界DOTA2联赛 GXR vs IO 第二场 11.07
2020/11/09 DOTA
python实现简单的计时器功能函数
2015/03/14 Python
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
获取Django项目的全部url方法详解
2017/10/26 Python
Python中scatter函数参数及用法详解
2017/11/08 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
python机器学习库xgboost的使用
2020/01/20 Python
浅析HTML5中header标签的用法
2016/06/24 HTML / CSS
党员十八大心得体会
2014/09/12 职场文书
有限公司股东合作协议书
2014/10/29 职场文书
综合素质自我评价评语
2015/03/06 职场文书
英雄儿女观后感
2015/06/09 职场文书
高三教师工作总结2015
2015/07/21 职场文书
小学语文教师研修日志
2015/11/13 职场文书
Python编解码问题及文本文件处理方法详解
2021/06/20 Python