通过Firefox扩展检查网络连接

Check network connection via Firefox Extension

本文关键字:网络 连接 检查 扩展 Firefox 通过      更新时间:2023-09-26

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

我已经试过了。

https://developer.mozilla.org/en-US/docs/Online_and_offline_events就是你要找的。

现在我只是漫谈超过30个字符,感谢stackoverflow

据我所知,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();
};

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