【发布时间】:2015-02-11 22:40:21
【问题描述】:
我编写了一个 API,允许不同的应用程序处理在线/离线检测:
function onOffAPI() {
var connection;
function init() {
var onLoadStatus = window.navigator.onLine;
window.addEventListener('online', function() {
connection.status = true;
}, false);
window.addEventListener('offline', function() {
connection.status = false;
}, false);
return {
status: onLoadStatus
};
}
return {
getStatus: function () {
if (!connection) {
connection = init();
}
return connection;
}
};
}
因此,示例应用使用以下代码来检测应用何时在线或离线:
var $alert = $('.alert');
var notification = new onOffAPI();
var networkStatus = notification.getStatus().status;
$alert.text('Online: ' + notification.getStatus().status); //returns true if online, false if offline
能够在应用程序加载时引用 API 很简单,但我很困惑当网络连接突然从在线变为离线时如何引用事件侦听器,反之亦然。有人可以帮我吗?
【问题讨论】:
-
你不应该在你的 onOffAPI() 函数中使用
new,因为它返回一个值而不是分配给this。
标签: javascript dom-events offline