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 面向对象思想 附源码
Jul 07 Javascript
判断客户端浏览器是否安装了Flash插件的多种方法
Aug 11 Javascript
Javascript 面向对象编程(一) 封装
Aug 28 Javascript
node.js中的fs.rmdirSync方法使用说明
Dec 16 Javascript
JavaScript中逗号运算符介绍及使用示例
Mar 13 Javascript
深入理解JQuery中的事件与动画
May 18 Javascript
浅析ES6的八进制与二进制整数字面量
Aug 30 Javascript
JS图片预加载插件详解
Jun 21 Javascript
jQuery层级选择器_动力节点节点Java学院整理
Jul 04 jQuery
Express下采用bcryptjs进行密码加密的方法
Feb 07 Javascript
vue中监听路由参数的变化及方法
Dec 06 Javascript
JS 事件机制完整示例分析
Jan 15 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
超简单JS二级、多级联动的简单实例
2014/02/18 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
JavaScript自定义等待wait函数实例分析
2015/03/23 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
js与applet相互调用的方法
2016/06/22 Javascript
浅析location.href跨窗口调用函数
2016/11/22 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
2017/04/28 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
2017/07/22 jQuery
详解bootstrap导航栏.nav与.navbar区别
2017/11/23 Javascript
js拖动滑块和点击水波纹效果实例代码
2018/10/16 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
layui使用label标签的方法
2019/09/14 Javascript
小程序调用微信支付的方法
2019/09/26 Javascript
JavaScript中的函数申明、函数表达式、箭头函数
2019/12/06 Javascript
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
[28:28]Ti4 冒泡赛第二天NEWBEE vs NaVi 2
2014/07/15 DOTA
编写自定义的Django模板加载器的简单示例
2015/07/21 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
Django前后端分离csrf token获取方式
2020/12/25 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
PHP如何对用户密码进行加密
2014/07/31 面试题
简历的自荐信
2013/12/19 职场文书
ktv中秋节活动方案
2014/01/30 职场文书
路政管理求职信
2014/06/18 职场文书
营销学习心得体会
2014/09/12 职场文书
《牧场之国》教学反思
2016/02/22 职场文书
解决Navicat for Mysql连接报错1251的问题(连接失败)
2021/05/27 MySQL
Java8中接口的新特性使用指南
2021/11/01 Java/Android
mysql数据库如何转移到oracle
2022/12/24 MySQL