NETWORK
2020-04-27 本文已影响0人
光明大兄弟
// 网络状况
class Network {
// 有网络的钩子
static observerOnline(func = () => {}) {
Network.addHandler(window, 'online', func);
}
// 断网的钩子
static observerOffline(func = () => {}) {
Network.addHandler(window, 'offline', func);
}
static addHandler(elementParam, type, handler) {
const element = elementParam;
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else if (element.attachEvent) {
element.attachEvent(`on${type}`, handler);
} else {
element[`on${type}`] = handler;
}
}
}
// 监听有网的情况
Network.observerOnline(() => {
const isRefresh = confirm('网络已恢复正常,是否要刷新页面?');
if (isRefresh === true) {
window.location.reload();
}
});
// 监听断网的情况
Network.observerOffline(() => {
alert('目前已断网,请检查您的网络链接。');
});