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脚本性能的优化方法
Feb 02 Javascript
javascript FormatNumber函数实现方法
Dec 30 Javascript
javascript 闭包疑问
Dec 30 Javascript
谈谈关于JavaScript 中的 MVC 模式
Apr 11 Javascript
浅谈javascript六种数据类型以及特殊注意点
Dec 20 Javascript
jquery text()方法取标签中的文本
Jul 25 Javascript
30个经典的jQuery代码开发技巧
Dec 15 Javascript
详解AngularJS中的表达式使用
Jun 16 Javascript
详解Vue.js分发之作用域槽
Jun 13 Javascript
React Native中Navigator的使用方法示例
Oct 13 Javascript
用js简单提供增删改查接口
May 12 Javascript
vue单元格多列合并的实现
Nov 26 Vue.js
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
海贼王动画变成“真人”后,凯多神还原,雷利太帅了!
2020/04/09 日漫
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
php使用cookie实现记住登录状态
2015/04/27 PHP
学习php设计模式 php实现观察者模式(Observer)
2015/12/09 PHP
掌握PHP垃圾回收机制详解
2019/03/13 PHP
一个不错的用JavaScript实现的UBB编码函数
2007/03/09 Javascript
Javascript计算两个marker之间的距离(Google Map V3)
2013/04/26 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
JQuery页面地址处理插件jqURL详解
2015/05/03 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
js实现HashTable(哈希表)的实例分析
2016/11/21 Javascript
jquery删除数组中重复元素
2016/12/05 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
ES6函数实现排它两种写法解析
2020/05/13 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
[01:57]2016完美“圣”典风云人物:国士无双专访
2016/12/04 DOTA
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
python选择排序算法实例总结
2015/07/01 Python
python制作爬虫并将抓取结果保存到excel中
2016/04/06 Python
django 创建过滤器的实例详解
2017/08/14 Python
代码实例讲解python3的编码问题
2019/07/08 Python
django-crontab实现服务端的定时任务的示例代码
2020/02/17 Python
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
香港士多网上超级市场:Ztore
2021/01/09 全球购物
Puccini乌克兰:购买行李箱、女士手袋网上商店
2020/08/06 全球购物
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
三八妇女节标语
2014/10/09 职场文书
2015年乡镇科普工作总结
2015/05/13 职场文书
2015年保险公司内勤工作总结
2015/05/23 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
礼仪培训心得体会
2016/01/22 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript
Pandas实现DataFrame的简单运算、统计与排序
2022/03/31 Python