我需要一些帮助来检测浏览器是否可以访问互联网

I need some help detecting if a browser has access to the internet

本文关键字:是否 浏览器 互联网 访问 检测 帮助      更新时间:2023-09-26

可能重复:
是否使用Javascript检查Internet连接?

我一直在制作一本手册,通过CD发送给一位客户。我公司的所有者要求将手册分为.doc和.docx两个文件。本手册的目录将是一个HTML页面,当CD放入计算机时,将自动运行。

我可以相当肯定这台电脑是一台windows电脑,但仅此而已。我目前的想法是使用这个脚本来利用谷歌来显示单词文件,但前提是电脑确实连接到了互联网。这样,我就不必依赖客户拥有特定版本的word(或安装了兼容包(。

根据我所做的研究,依靠计算机正确识别word文档的链接应该用word打开是有问题的,必须在用户端解决。

查看window.navigator.onLine

您可以尝试向可靠的站点发出ajax请求。

// THIS IS OUR PAGE LOADER EVENT!
window.onload = function() { 
    testConnection();
};
function testConnection(){
    var xmlhttp;
    if (window.XMLHttpRequest){
        xmlhttp=new XMLHttpRequest();
    } else {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function(){
        if (xmlhttp.readyState==4 && xmlhttp.status==200){
            alert(xmlhttp.responseText);
        } else if (xmlhttp.readyState==4){
            alert("NO INTERNET DETECTED!");
        }
    }
    xmlhttp.open("GET","http://www.w3schools.com/ajax/ajax_info.txt",true);
    xmlhttp.send();
}

现在您将不得不尝试使用它来找到使用响应的方法,因为它是异步的,但这将用于测试连接。

之前在这里讨论过:检查Javascript是否存在Internet连接?这里:如何知道网络是否已连接?。

GM_xmlhttpRequest({
  method: "GET",
  url: "http://www.google.com/",
  onload: function(response) {
    if(response.responseText != null) { 
       alert("OK");
    } else { 
      alert("not connected");
    }
  }
});
  • 第二种替代

    var HaveConnection=navigator.onLine;