navigator.online不总是工作的问题?

  • 回答 (1)
  • 关注 (0)
  • 查看 (13)

我遇到了navigator.onLine属性的问题。

var online = navigator.onLine;

if (online == false) {

    alert("Sorry, we currently do not have Internet access.");
    location.reload();

}
鸿鹄鸿鹄提问于
微信资讯小编回答于
已采纳

关于navigator.online的 MDN :

在Chrome和Safari浏览器中,如果浏览器无法连接到局域网(LAN)或路由器,则它处于脱机状态; 所有其他条件返回true。所以虽然你可以假设浏览器在离线时返回一个错误的值,但你不能认为真正的值必然意味着浏览器可以访问互联网。

function isOnline(no,yes){
    var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHttp');
    xhr.onload = function(){
        if(yes instanceof Function){
            yes();
        }
    }
    xhr.onerror = function(){
        if(no instanceof Function){
            no();
        }
    }
    xhr.open("GET","anypage.php",true);
    xhr.send();
}

isOnline(
    function(){
        alert("Sorry, we currently do not have Internet access.");
    },
    function(){
        alert("Succesfully connected!");
    }
);

回答过的其他问题

我使用了印刷体识别功能,怎么查询当期需要支付多少钱?

查询下接口调用数然后在比下价格表就知道啦,

也可以去费用中心查看下 消费的具体价格是多少啦

如何理解语音识别中的CTC算法?

CTC算法概念 CTC算法全称叫:Connectionist temporal classification。从字面上理解它是用来解决时序类数据的分类问题。 传统的语音识别的声学模型训练,对于每一帧的数据,需要知道对应的label才能进行有效的训练,在训练数据之前需要做语音对齐的...... 展开详请

为什么在MATLAB中sin(Pi)不是精确的,而sin(pi/2)是精确的?

我不知道Matlab计算的确切方式sin(x)- 但你可以通过使用幂级数来计算它,例如 sin x = x - (x^3)/3! + (x^5)/5! - (x^7)/7! + (x^9)/9! ... 把它变成一些Matlab代码,我们用下面的代码表示它: clc x = ...... 展开详请

当我开发ASP.NETCoreMVC时,我应该使用哪个服务?AddMvc还是AddMvcCore?

public static IMvcBuilder AddMvc(this IServiceCollection services) { if (services == null) { throw new ArgumentNullExcepti...... 展开详请

微信小程序怎么开发最省事儿?

新购买的CDB实例在腾讯云的备份策略是怎么样的?

老哥运气好,我刚好有官方回复~ CDB提供的备份方式有: 1)冷备:CDB的冷备有两种方式——逻辑冷备、物理冷备。CDB的物理冷备和逻辑冷备都是在提供给客户的“透明备机”上进行,在备份期间,不会影响客户的线上业务。 逻辑冷备的保留时长至少7天(加入白名单...... 展开详请

关于作者

所属标签

扫码关注云+社区