javascript如何最有效的判断一个链接是否有效?
我想判断一个链接是否有效,然后再确定是否要链接到该页面。c#实现也可以。请教……期待ing……...
我想判断一个链接是否有效,然后再确定是否要链接到该页面。c#实现也可以。请教……期待ing……
展开
展开全部
先mark
直接使用XMLHttpReuquest对象实现这个会有兼容性问题。
那些直接使用XMLHttpReuquest对象来完成这个功能的,基本上都是没掌握好XMLHttpReuquest对象的人。
这个功能的实现需要客户端和服务端配合才行,大概原理就是:
1.发送get请求给自己的服务器端,提交需要检查的url向南喜
2.接收到url后,服务器端发送对目标url的请求
3.服务器端获取头部信息
4.把获取到的头部信息给客户端(json或者纯文本之类的都可以)
5.客户端接受到头部信息,然后处理。
要都写出来那代码会很长的……
难点就在基于XMLHttpReuquest对象的ajax有同源策略的限制,而其他方式的ajax又无法获取头部信息。所以需要通过服务器端来配合才行。
直接使用XMLHttpReuquest对象实现这个会有兼容性问题。
那些直接使用XMLHttpReuquest对象来完成这个功能的,基本上都是没掌握好XMLHttpReuquest对象的人。
这个功能的实现需要客户端和服务端配合才行,大概原理就是:
1.发送get请求给自己的服务器端,提交需要检查的url向南喜
2.接收到url后,服务器端发送对目标url的请求
3.服务器端获取头部信息
4.把获取到的头部信息给客户端(json或者纯文本之类的都可以)
5.客户端接受到头部信息,然后处理。
要都写出来那代码会很长的……
难点就在基于XMLHttpReuquest对象的ajax有同源策略的限制,而其他方式的ajax又无法获取头部信息。所以需要通过服务器端来配合才行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 jQuery 的话,有现成的插件:
http://plugins.jquery.com/project/linkchecker
Demo 页面:
http://sidashin.ru/linkchecker/
代码只要这样几句:
<script src="jquery.js"></script>
<script src="jquery.linkchecker.js"></script>
<script type="text/javascript">
$(document).ready( function() {
$.linkChecker({query : 'a', linksAtOnce : 2});
});
</script>
补充:
如果针对一个具体的URL,光用jQuery,不需要插件可以这样:
$.ajax({
url: 'http://some.url.com',
type: 'GET',
complete: function(response) {
if(response.status == 200) {
alert('有效');
} else {
alert('无效');
}
}
});
http://plugins.jquery.com/project/linkchecker
Demo 页面:
http://sidashin.ru/linkchecker/
代码只要这样几句:
<script src="jquery.js"></script>
<script src="jquery.linkchecker.js"></script>
<script type="text/javascript">
$(document).ready( function() {
$.linkChecker({query : 'a', linksAtOnce : 2});
});
</script>
补充:
如果针对一个具体的URL,光用jQuery,不需要插件可以这样:
$.ajax({
url: 'http://some.url.com',
type: 'GET',
complete: function(response) {
if(response.status == 200) {
alert('有效');
} else {
alert('无效');
}
}
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script language="javascript">
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.onreadystatechange = getReady;
xmlhttp.Open("POST","你的网址",false);
xmlhttp.Send();
function getReady(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200)
{
alert("有效");
}
else
{
alert("无效");
}
}
}
</script>
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
xmlhttp.onreadystatechange = getReady;
xmlhttp.Open("POST","你的网址",false);
xmlhttp.Send();
function getReady(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200)
{
alert("有效");
}
else
{
alert("无效");
}
}
}
</script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-02-22
展开全部
楼上的回答提示没有权限。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
实现的代码,我已经发到你的HI上了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询