在Node中使用Offline.js

时间:2017-04-03 13:52:40

标签: javascript node.js

我很难在NodeJS中使用Offline.js。我已经像以下一样使用了Offline.js,但它始终显示check()未定义或任何其他方法。

import Offline from 'offline-js'

Offline.options = {
  checkOnLoad: true,
  checks: {
    xhr: {
      url: 'http://google.com'
    }
  }
}

Offline.check()

Offline.Offline.on('up', () => {
  alert('Up')
})

Offline.Offline.down('down', () => {
  alert('Down')
})

1 个答案:

答案 0 :(得分:0)

所以,我使用[isOnline包]提出了以下解决方案。1因为Offline.js无法在Node或服务器端工作。

window.addEventListener('offline', () => {
  isOnline({timeout: 1000}).then(online => {
    if (!online) {
      this.online = false
    }
  })
})

window.addEventListener('online', () => {
  isOnline({timeout: 1000}).then(online => {
    if (online) {
      this.online = true
    }
  })
})

isOnline({timeout: 1000}).then(online => {
  if (!online) {
    this.online = false
  }
})

使用了最后一部分的isOnline()方法,因为一旦Electron应用程序启动并且没有Lan或Wifi连接,window. addEventListener('offline')就不会被激活。我在Vue mounted()方法下添加了该事件。因此,我必须在isOnline()事件之外再次使用window.addEventListener()方法。