是否有可能在Firefox扩展中检查与网络的连接? 我只是想知道用户是在线还是离线。
我已经尝试过navigator.online,但它不起作用。
答案 0 :(得分:1)
https://developer.mozilla.org/en-US/docs/Online_and_offline_events是您正在寻找的。 p>
现在我只是漫无目的地超越30个字符,感谢stackoverflow。
答案 1 :(得分:1)
据我所知,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();
};
工作正常。无论如何,谢谢你的帮助!