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 相关文章推荐
通过js脚本复制网页上的一个表格的不错实现方法
Dec 29 Javascript
让iframe自适应高度(支持XHTML,支持FF)
Jul 24 Javascript
js 控制页面跳转的5种方法
Sep 09 Javascript
javascript类型转换示例
Apr 29 Javascript
JSON字符串和对象之间的转换详解
May 26 Javascript
jquery读写cookie操作实例分析
Dec 24 Javascript
js中json处理总结之JSON.parse
Oct 14 Javascript
ES6入门教程之Iterator与for...of循环详解
May 17 Javascript
vue 父组件通过v-model接收子组件的值的代码
Oct 27 Javascript
js get和post请求实现代码解析
Feb 06 Javascript
微信小程序点击滚动到指定位置的实现
May 22 Javascript
如何在vue-cli中使用css-loader实现css module
Jan 07 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
浅析PHP Socket技术
2013/08/02 PHP
PHP中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
CodeIgniter表单验证方法实例详解
2016/03/03 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
JavaScript 提升运行速度之循环篇 译文
2009/08/15 Javascript
JavaScript动态调整TextArea高度的代码
2010/12/28 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
js实现点击链接后延迟3秒再跳转的方法
2015/06/05 Javascript
JS打字效果的动态菜单代码分享
2015/08/21 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
用原生js做单页应用
2017/01/17 Javascript
Angular+Bootstrap+Spring Boot实现分页功能实例代码
2017/07/21 Javascript
使用Vue完成一个简单的todolist的方法
2017/12/01 Javascript
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
微信小程序实现tab页面切换功能
2018/07/13 Javascript
jQuery使用each遍历循环的方法
2018/09/19 jQuery
vue中$nextTick的用法讲解
2019/01/17 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
2019/03/26 Javascript
Promise扫盲贴
2019/06/24 Javascript
vue-axios同时请求多个接口 等所有接口全部加载完成再处理操作
2020/11/09 Javascript
Python中Random和Math模块学习笔记
2015/05/18 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
matplotlib调整子图间距,调整整体空白的方法
2018/08/03 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
美国Randolph太阳镜官网:美国制造的飞行员太阳镜和射击眼镜
2018/06/15 全球购物
微软台湾官方网站:Microsoft台湾
2018/08/15 全球购物
英语专业个人求职自荐信
2013/09/21 职场文书
主持人婚宴答谢词
2014/01/28 职场文书
学校消防安全制度
2014/01/30 职场文书
酒店销售经理岗位职责
2014/01/31 职场文书
Django实现聊天机器人
2021/05/31 Python