Firefox 拡張機能でネットワークへの接続を確認する可能性はありますか? ユーザーがオンラインかオフラインかを知りたいだけです。
すでに navigator.online を試しましたが、うまくいきません。
Firefox 拡張機能でネットワークへの接続を確認する可能性はありますか? ユーザーがオンラインかオフラインかを知りたいだけです。
すでに navigator.online を試しましたが、うまくいきません。
私が知っているように、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();
};
それは正常に動作します。とにかく、あなたの助けに感謝します!