如何用js判断当前网络是否连通,比如是否能上新浪网

wyj770615 2009-09-02 05:17:23
如题,在线等待,谢谢。
...全文
1985 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaohw_lenovo 2011-12-06
  • 打赏
  • 举报
回复
有点儿帮助
jxxlsoft 2010-01-13
  • 打赏
  • 举报
回复
学习,学习.
wyj770615 2009-09-05
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 goldenlove 的回复:]
- -; 引号错了...
HTML code<imgsrc="http://i1.sinaimg.cn/home/deco/2009/0330/logo_home.gif" onload="alert('能上')" onerror="alert('不能上');"/>
[/Quote]

我的应用有两种情况:
1、计算机没有插网线,这个方法很有效。
2、计算机插网线了,但是没有拨号上网(宽度),这个方法的返回时间太长,大概在1分钟以上了,可能是一直尝试连接。有没有改进的方法,比如5秒钟连接不上,就终止连接代码的执行,转而执行其他代码?
24K純帥 2009-09-05
  • 打赏
  • 举报
回复
学习
浴火_凤凰 2009-09-03
  • 打赏
  • 举报
回复
不能用服务器端代码,纯javascript只是一个小的脚本语言,功能没有楼主想象的那么强大吧
潇洒 2009-09-03
  • 打赏
  • 举报
回复
- -; 引号错了...

<img src="http://i1.sinaimg.cn/home/deco/2009/0330/logo_home.gif" onload="alert('能上')" onerror="alert('不能上');" />
潇洒 2009-09-03
  • 打赏
  • 举报
回复

<img src="http://i1.sinaimg.cn/home/deco/2009/0330/logo_home.gif" onload="alert('能上')" onerror="alert("不能上");" />
wyj770615 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lixiaoyan3 的回复:]
用Ajax异步调用一下链接地址!这段代码你看下JScript code<script>//连接状态<%--start连接状态--%>var xmlHttplink;function createXMLLinkHttpRequest() {if (window.ActiveXObject) {
xmlHttplink=new ActiveXObject("Microsoft.XMLHTTP");
}elseif (window.XMLHttpRequest) {
xmlHttplink=new XMLHttpRequest();
}
}function doRequest() {

createXMLLinkHttpRequest();
xmlHttplink.onreadystatechange= handleChange;
xmlHttplink.open("HEAD","../../login.do?method=linkStatus&date="+new Date().getTime(),true);
xmlHttplink.send(null);

}function handleChange() {if(xmlHttplink.readyState==4) {if(xmlHttplink.status==200){
document.getElementById("netlink").value="连接";

}else{
document.getElementById("netlink").value="断开";
alert("连接断开");
}
setTimeout("doRequest()",1000);
}
}</script>
在页面加载的时候调用HTML code<bodyonload="doRequest();">

后台java代码:
Java code//网络连接状态public ActionForward linkStatus(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){return mapping.findForward("top");//直接跳回原页面就好 }

[/Quote]

我这个不能用后台代码,只能用纯javascript
lixiaoyan3 2009-09-03
  • 打赏
  • 举报
回复
用Ajax异步调用一下链接地址!这段代码你看下

<script>//连接状态
<%--start连接状态--%>
var xmlHttplink;
function createXMLLinkHttpRequest() {
if (window.ActiveXObject) {
xmlHttplink = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttplink = new XMLHttpRequest();
}
}

function doRequest() {

createXMLLinkHttpRequest();
xmlHttplink.onreadystatechange = handleChange;
xmlHttplink.open("HEAD", "../../login.do?method=linkStatus&date=" + new Date().getTime(), true);
xmlHttplink.send(null);

}

function handleChange() {
if(xmlHttplink.readyState == 4) {
if(xmlHttplink.status == 200){
document.getElementById("netlink").value="连接";

}else{
document.getElementById("netlink").value="断开";
alert("连接断开");
}
setTimeout("doRequest()", 1000);
}
}
</script>

在页面加载的时候调用
<body  onload="doRequest();" >


后台java代码:
	
//网络连接状态
public ActionForward linkStatus(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
return mapping.findForward("top");//直接跳回原页面就好
}

wyj770615 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sun672380679 的回复:]
有个帖子是判断链接是否存在的,你搜索一下,把链接换成新浪就行了,代码不多,但我忘了
[/Quote]

呵呵,我找了半天也没找到
wyj770615 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sohighthesky 的回复:]
引用 4 楼 tobeno2 的回复:
我的想法是用ajax异步调用一下链接地址,然后判断一下什么的。

可以AJax请求下看页面返回的有什么值,找出特征判断下
[/Quote]

对AJax不太熟悉。
我的环境是一个客户端软件内嵌浏览器控件,加载html,想用js判断如果网络不通,就调用本地的html;如果网络连通,则调用服务器的html。这期间交互的都是纯html,不能用服务器端代码。

如果能实现,请写一下代码吧,就实现js判断网络是否连通就行。谢谢
sohighthesky 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tobeno2 的回复:]
我的想法是用ajax异步调用一下链接地址,然后判断一下什么的。
[/Quote]
可以AJax请求下看页面返回的有什么值,找出特征判断下
tobeno2 2009-09-03
  • 打赏
  • 举报
回复
我的想法是用ajax异步调用一下链接地址,然后判断一下什么的。
史蒂芬__ 2009-09-02
  • 打赏
  • 举报
回复
有个帖子是判断链接是否存在的,你搜索一下,把链接换成新浪就行了,代码不多,但我忘了
wyj770615 2009-09-02
  • 打赏
  • 举报
回复
有解决办法吗
magicone 2009-09-02
  • 打赏
  • 举报
回复
关注~~~

87,924

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧