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 相关文章推荐
SharePoint 客户端对象模型 (一) ECMA Script
May 22 Javascript
JS弹出层的显示与隐藏示例代码
Dec 27 Javascript
javascript调试之DOM断点调试法使用技巧分享
Apr 15 Javascript
JS排序之冒泡排序详解
Apr 08 Javascript
JavaScript队列的应用实例详解【经典数据结构】
Apr 12 Javascript
Vue.js中数据绑定的语法教程
Jun 02 Javascript
Easyui ueditor 整合解决不能编辑的问题(推荐)
Jun 25 Javascript
vue实现图书管理demo详解
Oct 17 Javascript
angularjs 动态从后台获取下拉框的值方法
Aug 13 Javascript
解决vue接口数据赋值给data没有反应的问题
Aug 27 Javascript
jQuery zTree树插件的使用教程
Aug 16 jQuery
vue组件入门知识全梳理
Sep 21 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
在php中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
php array_walk() 数组函数
2011/07/12 PHP
php将一维数组转换为每3个连续值组成的二维数组
2016/05/06 PHP
Yii2 GridView实现列表页直接修改数据的方法
2016/05/16 PHP
PHP入门教程之表单与验证实例详解
2016/09/11 PHP
input 高级限制级用法
2009/03/26 Javascript
javascript针对DOM的应用分析(二)
2012/04/15 Javascript
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
2015/10/29 Javascript
AngularJS 过滤器的简单实例
2016/07/27 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
2017/01/05 Javascript
ajax实现加载页面、删除、查看详细信息 bootstrap美化页面!
2017/03/14 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
Vue拖拽组件开发实例详解
2018/05/11 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
[03:18]DOTA2放量测试专访820:希望玩家加入国服大家庭
2013/08/25 DOTA
python实现端口转发器的方法
2015/03/13 Python
理解Python中函数的参数
2015/04/27 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
Python中捕获键盘的方式详解
2019/03/28 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
django实现模板中的字符串文字和自动转义
2020/03/31 Python
Python 使用 PyQt5 开发的关机小工具分享
2020/07/16 Python
python模块内置属性概念及实例
2021/02/18 Python
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
大学生毕业的自我评价分享
2014/01/02 职场文书
师德标兵事迹材料
2014/12/19 职场文书
民主评议教师党员自我评价
2015/03/04 职场文书
小学教师节活动总结
2015/03/20 职场文书
母亲去世追悼词
2015/06/23 职场文书
如何在pycharm中快捷安装pip命令(如pygame)
2021/05/31 Python
Python还能这么玩之用Python做个小游戏的外挂
2021/06/04 Python