在 Xul 中,我如何知道网络是否已连接(断开)?
--update
Using:
function observe(aSubject, aTopic, aState) {
if (aTopic == "network:offline-status-changed") {
write("STATUS CHANGED!");
}
}
var os = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
os.addObserver(observe, "network:offline-status-changed", false);
和偏好:
pref("network.manage-offline-status", true);
它不起作用..有一个错误报告在这里 https://bugzilla.mozilla.org/show_bug.cgi?id=339814,但我认为这与此无关。
--
Actually我认为不可能收到通知,因为即使在 Firefox 中我们也永远不会收到通知,如果用户希望浏览器知道它处于离线状态,则需要手动标记“离线工作”。
--
我的 Firefox“about:config”过滤“offline”字符串的屏幕截图,不幸的是,没有“network.manage-offline-status”:
您应该能够使用 navigator.onLine。这是帮助页面
https://developer.mozilla.org/en/Online_and_offline_events https://developer.mozilla.org/en/Online_and_offline_events
navigator.onLine 是一个属性
保持真/假值(真为
在线,离线则为 false)。这
每当用户更新属性
切换到“离线模式”
选择相应的菜单项
(文件 -> 在 Firefox 中离线工作)。
另一个解决方案(如@Neil 评论):
Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService)
.addObserver(myFunction, "network:offline-status-changed", false);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)