最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用JavaScript實(shí)現(xiàn)檢測(cè)用戶是否在線功能

 更新時(shí)間:2022年12月26日 08:34:29   作者:海擁?  
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript實(shí)現(xiàn)檢測(cè)用戶是否在線功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

有時(shí)你可能希望增強(qiáng)你的應(yīng)用程序以通知用戶他們可能已經(jīng)失去了互聯(lián)網(wǎng)連接。

用戶可能正在訪問(wèn)你的網(wǎng)站并收到緩存版本,因此通??雌饋?lái)他們的互聯(lián)網(wǎng)仍在工作。

然而,他們失去了引擎蓋下的連接,并且不會(huì)加載任何新內(nèi)容。

在這里向他們顯示一些消息以讓他們知道他們應(yīng)該檢查他們的連接可能是有益的。

檢測(cè)連接狀態(tài)

我們可以利用navigator.onLineAPI 來(lái)檢測(cè)連接狀態(tài)。

這將返回一個(gè)布爾值來(lái)指示用戶是否在線。

注意:請(qǐng)注意瀏覽器的實(shí)現(xiàn)方式不同,因此結(jié)果可能會(huì)有所不同。

這在初始加載時(shí)效果很好,所以我們可以做這樣的事情。

window.addEventListener('load', () => {
  const status = navigator.onLine;
});

但是我們不知道加載后網(wǎng)絡(luò)狀態(tài)是否發(fā)生變化,這是不理想的。

我們可以訂閱離線和在線事件來(lái)監(jiān)聽(tīng)這些特定的變化。

window.addEventListener('offline', (e) => {
  console.log('offline');
});

window.addEventListener('online', (e) => {
  console.log('online');
});

演示

讓我們?cè)O(shè)置一個(gè)快速演示來(lái)演示這一點(diǎn)。

我們將在屏幕中央使用一個(gè)基本的文本元素,但你當(dāng)然可以按照你喜歡的任何方式設(shè)置樣式和實(shí)現(xiàn)它。

注意:我正在使用 SCSS 來(lái)設(shè)置樣式

<div class="status">
  <div class="offline-msg">You're offline ??</div>
  <div class="online-msg">You're connected ??</div>
</div>

我們?cè)谀J(rèn)為連接狀態(tài)的前提下構(gòu)建它。

讓我們添加一些基本樣式。

.status {
  background: #efefef;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  div {
    padding: 1rem 2rem;
    font-size: 3rem;
    border-radius: 1rem;
    color: white;
    font-family: Roboto, 'Helvetica Neue', Arial, sans-serif;
  }
  .online-msg {
    background: green;
    display: block;
  }
  .offline-msg {
    background: red;
    display: none;
  }
}

默認(rèn)情況下,這只會(huì)顯示在線消息。

讓我們添加一個(gè)條件,如果狀態(tài)元素有一個(gè)離線類,我們切換兩個(gè) div。

.status {
  &.offline {
    .online-msg {
      display: none;
    }
    .offline-msg {
      display: block;
    }
  }
}

現(xiàn)在,如果我們將離線類添加到狀態(tài) div,我們應(yīng)該會(huì)看到離線消息。

那么我們?nèi)绾胃鶕?jù)網(wǎng)絡(luò)狀態(tài)切換這些呢?

const status = document.querySelector('.status');
window.addEventListener('load', () => {
  const handleNetworkChange = () => {
    if (navigator.onLine) {
      status.classList.remove('offline');
    } else {
      status.classList.add('offline');
    }
  };

  window.addEventListener('online', handleNetworkChange);
  window.addEventListener('offline', handleNetworkChange);
});

是的,這段代碼可以解決問(wèn)題!

我們?cè)诘谝淮渭虞d時(shí)對(duì)其進(jìn)行了初始化,并創(chuàng)建了一個(gè)新函數(shù)來(lái)檢查導(dǎo)航器狀態(tài)。

然后我們添加事件監(jiān)聽(tīng)器來(lái)監(jiān)聽(tīng)變化,這樣我們就可以根據(jù)它們采取行動(dòng)。

在更改時(shí),它可以添加或刪除類名。

如果我們嘗試一下,它看起來(lái)像這樣。

到此這篇關(guān)于利用JavaScript實(shí)現(xiàn)檢測(cè)用戶是否在線功能的文章就介紹到這了,更多相關(guān)JavaScript檢測(cè)用戶是否在線內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 全面解析多種Bootstrap圖片輪播效果

    全面解析多種Bootstrap圖片輪播效果

    這篇文章主要為大家全面解析多種Bootstrap圖片輪播效果,感興趣的小伙伴們可以參考一下
    2016-05-05
  • 淺談微信小程序flex布局基礎(chǔ)

    淺談微信小程序flex布局基礎(chǔ)

    這篇文章主要介紹了淺談微信小程序flex布局基礎(chǔ),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • MUI頂部選項(xiàng)卡的用法(tab-top-webview-main)詳解

    MUI頂部選項(xiàng)卡的用法(tab-top-webview-main)詳解

    最近用MUI做手機(jī)app應(yīng)用的時(shí)候,遇到的小bug,這里小編給大家分享MUI頂部選項(xiàng)卡的用法(tab-top-webview-main)詳解,感興趣的朋友一起看看吧
    2017-10-10
  • JS仿Windows開(kāi)機(jī)啟動(dòng)Loading進(jìn)度條的方法

    JS仿Windows開(kāi)機(jī)啟動(dòng)Loading進(jìn)度條的方法

    這篇文章主要介紹了JS仿Windows開(kāi)機(jī)啟動(dòng)Loading進(jìn)度條的方法,實(shí)例分析了javascript操作html元素及對(duì)應(yīng)樣式實(shí)現(xiàn)特效的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • 用AJAX返回HTML片段中的JavaScript腳本

    用AJAX返回HTML片段中的JavaScript腳本

    如果AJAX加載的數(shù)據(jù)是一個(gè)HTML片段,而且這個(gè)HTML片段還包含腳本<script>塊,那么在你把這數(shù)據(jù)xmlHttp.responseText用innerHTML方法插入到當(dāng)前文檔一個(gè)元素中,你會(huì)發(fā)現(xiàn)AJAX加載回來(lái)的腳本根本沒(méi)有執(zhí)行。
    2010-01-01
  • javascript實(shí)現(xiàn)視頻彈幕效果(兩個(gè)版本)

    javascript實(shí)現(xiàn)視頻彈幕效果(兩個(gè)版本)

    這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)視頻彈幕效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • JavaScript數(shù)組Array的一些常用方法總結(jié)

    JavaScript數(shù)組Array的一些常用方法總結(jié)

    JavaScript的Array對(duì)象是用于構(gòu)造數(shù)組的全局對(duì)象,數(shù)組是類似于列表的高階對(duì)象,下面這篇文章主要給大家介紹了關(guān)于JavaScript數(shù)組Array的一些常用方法,需要的朋友可以參考下
    2021-11-11
  • JS實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)并傳值

    JS實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)并傳值

    這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)并傳值,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • Bootstrap導(dǎo)航條學(xué)習(xí)使用(一)

    Bootstrap導(dǎo)航條學(xué)習(xí)使用(一)

    這篇文章主要為大家詳細(xì)介紹了Bootstrap導(dǎo)航條的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 簡(jiǎn)單實(shí)現(xiàn)js上傳文件功能

    簡(jiǎn)單實(shí)現(xiàn)js上傳文件功能

    這篇文章主要教大家如何簡(jiǎn)單實(shí)現(xiàn)js上傳文件功能,代碼簡(jiǎn)單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08

最新評(píng)論

宜黄县| 木兰县| 山东| 庆城县| 西昌市| 西昌市| 桐柏县| 金昌市| 南丰县| 无极县| 舒城县| 枝江市| 措美县| 德江县| 绿春县| 砚山县| 水富县| 玛纳斯县| 庆安县| 米林县| 保康县| 县级市| 岗巴县| 大化| 呼伦贝尔市| 民丰县| 洛南县| 雅江县| 海安县| 芷江| 蒙城县| 中宁县| 灵川县| 东宁县| 遂宁市| 报价| 邹平县| 永寿县| 龙井市| 大新县| 广南县|