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 相关文章推荐
JSQL 基于客户端的成绩统计实现方法
May 05 Javascript
javascript学习笔记(十四) window对象使用介绍
Jun 20 Javascript
js+xml生成级联下拉框代码
Jul 24 Javascript
js函数排序的实例代码
Jul 01 Javascript
Angular.js与Bootstrap相结合实现表格分页代码
Apr 12 Javascript
JS实现iframe编辑器光标位置插入内容的方法(兼容IE和Firefox)
Jun 24 Javascript
PHP 实现一种多文件上传的方法
Sep 20 Javascript
JS中的JSON对象的定义和取值实现代码
May 09 Javascript
vuex actions传递多参数的处理方法
Sep 18 Javascript
JS Math对象与Math方法实例小结
Jul 05 Javascript
vue Tab切换以及缓存页面处理的几种方式
Nov 05 Javascript
Vue的props父传子的示例代码
May 20 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+jQuery制作的列表分页的功能模块
2014/10/14 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
详解WordPress中添加和执行动作的函数使用方法
2015/12/29 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
javascript 学习之旅 (3)
2009/02/05 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
Nodejs如何复制文件
2016/03/09 NodeJs
JS对象是否拥有某属性如何判断
2017/02/03 Javascript
JavaScript实现为事件句柄绑定监听函数的方法分析
2017/11/14 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
vue+axios 前端实现的常用拦截的代码示例
2018/08/23 Javascript
Vue 设置axios请求格式为form-data的操作步骤
2019/10/29 Javascript
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
python实现的jpg格式图片修复代码
2015/04/21 Python
使用Python获取网段IP个数以及地址清单的方法
2018/11/01 Python
对python 树状嵌套结构的实现思路详解
2019/08/09 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
Python如何输出整数
2020/06/07 Python
Python爬虫爬取糗事百科段子实例分享
2020/07/31 Python
django教程如何自学
2020/07/31 Python
Python WebSocket长连接心跳与短连接的示例
2020/11/24 Python
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
西班牙英格列斯百货法国官网:El Corte Inglés法国
2017/07/09 全球购物
Monica Vinader官网:英国轻奢珠宝品牌
2020/02/05 全球购物
运动会广播稿150字
2014/02/19 职场文书
审计班子对照检查材料
2014/08/27 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
美德少年主要事迹材料
2015/11/04 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书
JS新手入门数组处理的实用方法汇总
2021/04/07 Javascript
Python实战之疫苗研发情况可视化
2021/05/18 Python
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android