Javascript 通过Firefox扩展检查网络连接

Javascript 通过Firefox扩展检查网络连接,javascript,firefox,networking,connection,firefox-addon,Javascript,Firefox,Networking,Connection,Firefox Addon,是否可以在Firefox扩展中检查网络连接? 我只是想知道用户是在线还是离线 我已经试过navigator.online,但它不起作用。正是您要找的 谢谢stackoverflow,现在我将漫无目的地浏览超过30个字符。据我所知,Firefox不知道我是否切断了网络连接。因此,我创建了一个小XMLHttpRequest(XHR)来设置一个布尔值: var netOnline; function createXMLHttpRequest() { return Components.cl

是否可以在Firefox扩展中检查网络连接? 我只是想知道用户是在线还是离线

我已经试过navigator.online,但它不起作用。

正是您要找的


谢谢stackoverflow,现在我将漫无目的地浏览超过30个字符。

据我所知,Firefox不知道我是否切断了网络连接。因此,我创建了一个小XMLHttpRequest(XHR)来设置一个布尔值:

var netOnline; 

function createXMLHttpRequest() {
    return Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"]
       .createInstance(Components.interfaces.nsIXMLHttpRequest);    
}

function issueRequest() {
    var req = createXMLHttpRequest();
    req.open("GET", "http://google.com", true);
    req.timeout = 1000; // ms 
    // online
    req.addEventListener("load", function(event) {
        netOnline = true; 
    });
    // timeout -> offline
    req.addEventListener("timeout", function(event) {
        netOnline = false; 
    }); 
    // error -> offline
    req.addEventListener("error", function(event) {
        netOnline = false; 
    });
    req.send();
};

它很好用。无论如何,谢谢你的帮助

我发现,如果在浏览器文件->脱机工作中选择,network.online就是状态。但是如果我切断网络连接,network.online不会改变。有人能帮我吗?