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 相关文章推荐
基于jquery实现的表格分页实现代码
Jun 21 Javascript
jquery easyui中treegrid用法的简单实例
Feb 18 Javascript
ECMAScript5中的对象存取器属性:getter和setter介绍
Dec 08 Javascript
javascript实现简单加载随机色方块
Dec 25 Javascript
AngularJS 2.0入门权威指南
Oct 08 Javascript
Node.js批量给图片加水印的方法
Nov 15 Javascript
vue.js学习之递归组件
Dec 13 Javascript
JS FormData上传文件的设置方法
Jul 05 Javascript
解析Vue.js中的组件
Feb 02 Javascript
详解ES6通过WeakMap解决内存泄漏问题
Mar 09 Javascript
浅析vue中常见循环遍历指令的使用 v-for
Apr 18 Javascript
js基础之事件捕获与冒泡原理
Oct 09 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
第三节 定义一个类 [3]
2006/10/09 PHP
php 归并排序 数组交集
2011/05/10 PHP
Thinkphp多文件上传实现方法
2014/10/31 PHP
php变量与字符串的增删改查操作示例
2020/05/07 PHP
javascript 流畅动画实现原理
2009/09/08 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
A标签中通过href和onclick传递的this对象实现思路
2013/04/19 Javascript
查看大图功能代码jquery版
2013/11/05 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
2017/03/30 Javascript
使用Require.js封装原生js轮播图的实现代码
2017/06/15 Javascript
Angular指令之restict匹配模式的详解
2017/07/27 Javascript
js模块加载方式浅析
2017/08/12 Javascript
webpack dll打包重复问题优化的解决
2018/10/10 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
JS中的模糊查询功能
2019/12/08 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
基于canvas实现手写签名(vue)
2020/05/21 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
Python实现备份文件实例
2014/09/16 Python
python3设计模式之简单工厂模式
2017/10/17 Python
Python3使用TCP编写一个简易的文件下载器功能
2019/05/08 Python
Django发送邮件功能实例详解
2019/09/02 Python
Python通过socketserver处理多个链接
2020/03/18 Python
django中url映射规则和服务端响应顺序的实现
2020/04/02 Python
python调用摄像头的示例代码
2020/09/28 Python
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
高职助产应届生自荐信
2013/09/24 职场文书
物业经理自我鉴定
2014/03/03 职场文书
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技