高手请进来,求JS一个函数的写法 这个JAVASCRIPT办不到吧,最多就判断是否与某个服务器连通没,不能说明是否联网。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 给你个变相思路用XMLHTTP去检查http://www.baidu.com有没有字节返回 然后返回IP <script type="text/javascript">window.onload=function(){ checknet(); setInterval(checknet,5*1000)}var tStart=null;function checknet(){ var url="http://www.ajiang.net/aspcheck.asp"; var conn=new XHConn(); tStart=new Date(); conn.connect(url,"GET","T=E&R="+Math.random(),callback);}function callback(response){ var text=response.responseText; var tEnd=new Date(); var speed=(text.length/(tEnd-tStart)).toFixed(3); if (text && text.indexOf("http://www.ajiang.net/products/aspcheck/")!=-1){ var arr=text.match(/>REMOTE_ADDR<\/td><td[^>]*>([^<]+)<\/td><\/tr>/); if (arr && arr.length>=2 && /(\d+)\.(\d+)\.(\d+)\.(\d+)/.test(arr[1])){ addLog(arr[1]+"\t网速:\t"+speed+" k/s"); }else{ addLog("没有联网"); } }else{ addLog("没有联网"); }}function addLog(msg){ var output=document.getElementById("output"); var now=new Date().toLocaleTimeString(); output.value=output.value+now+"\tIP: "+msg+"\r\n"}function XHConn(){ var xmlhttp, bComplete = false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false; }}} if (!xmlhttp) return null; this.connect = function(sURL, sMethod, sVars, fnDone){ if (!xmlhttp) return false; bComplete = false; sMethod = sMethod.toUpperCase(); try { if (sMethod == "GET"){ xmlhttp.open(sMethod, sURL+"?"+sVars, true); sVars = ""; }else{ xmlhttp.open(sMethod, sURL, true); xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1"); xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); } xmlhttp.onreadystatechange = function(){ if (xmlhttp.readyState == 4 && !bComplete){ bComplete = true; fnDone(xmlhttp); }}; xmlhttp.send(sVars); } catch(z) { return false; } return true; }; return this;}</script><textarea id="output" style="margin:50px;width:70%;height:500px;overflow:auto" readonly></textarea> 当然,上面那个网速测试只能做一个参考,不足采信。因为传输的数据量太小了 不到 4k. 这样小的采集量不足以反映实际的网速,不过实现方法可供参考。可以尝试下载一个1MB 左右的文件来测试网速,那样更接近真实值一点 js如何判断一个按钮在今年内是否被按下,如果被按下过一次就灰掉? js 弹窗 奇怪的问题?? 高分求ajax 要注意到问题 JS菜鸟求助 超链接里怎么把两个函数一起调用? innerHTML修改内容,内容是修改了~但是显示不出来! 在页面中按下backspace键,不回退,但在页面的文本筐中仍然有效? 急!急!急!请教高手!!一个请求时间很长,我想在请求中,能提示用户正在请求,请稍候,请求完后,能提示用户,请求完毕,如何达到这种 为什么我的iframe摆不齐? ie的层如何跨越到别一帧里面? 用js判断是否日期 js 如何动态控制tr td的可见和隐藏
用XMLHTTP去检查http://www.baidu.com有没有字节返回
然后返回IP
window.onload=function(){
checknet();
setInterval(checknet,5*1000)
}var tStart=null;function checknet(){
var url="http://www.ajiang.net/aspcheck.asp";
var conn=new XHConn();
tStart=new Date();
conn.connect(url,"GET","T=E&R="+Math.random(),callback);
}function callback(response){
var text=response.responseText;
var tEnd=new Date();
var speed=(text.length/(tEnd-tStart)).toFixed(3);
if (text && text.indexOf("http://www.ajiang.net/products/aspcheck/")!=-1){
var arr=text.match(/>REMOTE_ADDR<\/td><td[^>]*>([^<]+)<\/td><\/tr>/);
if (arr && arr.length>=2 && /(\d+)\.(\d+)\.(\d+)\.(\d+)/.test(arr[1])){
addLog(arr[1]+"\t网速:\t"+speed+" k/s");
}else{
addLog("没有联网");
}
}else{
addLog("没有联网");
}
}function addLog(msg){
var output=document.getElementById("output");
var now=new Date().toLocaleTimeString();
output.value=output.value+now+"\tIP: "+msg+"\r\n"
}
function XHConn(){
var xmlhttp, bComplete = false;
try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
catch (e) { try { xmlhttp = new XMLHttpRequest(); }
catch (e) { xmlhttp = false; }}}
if (!xmlhttp) return null;
this.connect = function(sURL, sMethod, sVars, fnDone){
if (!xmlhttp) return false;
bComplete = false;
sMethod = sMethod.toUpperCase();
try {
if (sMethod == "GET"){
xmlhttp.open(sMethod, sURL+"?"+sVars, true);
sVars = "";
}else{
xmlhttp.open(sMethod, sURL, true);
xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
}
xmlhttp.onreadystatechange = function(){
if (xmlhttp.readyState == 4 && !bComplete){
bComplete = true;
fnDone(xmlhttp);
}};
xmlhttp.send(sVars);
}
catch(z) { return false; }
return true;
};
return this;
}</script>
<textarea id="output" style="margin:50px;width:70%;height:500px;overflow:auto" readonly></textarea>
这样小的采集量不足以反映实际的网速,不过实现方法可供参考。可以尝试下载一个1MB 左右的文件来测试网速,那样更接近真实值一点