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('目前已断网,请检查您的网络链接。');

    });

上一篇 下一篇

猜你喜欢

热点阅读