<strike id="cy2gs"><menu id="cy2gs"></menu></strike>
  • <del id="cy2gs"><dfn id="cy2gs"></dfn></del>
  • 用 JavaScript 檢測瀏覽器在線/離線狀態(JavaScript API?—?navigator.onLine)

    2023-2-7    前端達人

    如今HTML5 移動應用或 Web app 中越來越普遍的使用了離線瀏覽技術,所以用 JavaScript 檢測瀏覽器在線/離線狀態非常常見。

    無論瀏覽器是否在線,navigator.onLine 屬性都會提供一個布爾值。 如果瀏覽器在線,則設置為 true ,否則設置為 false 

     if(navigator.onLine) { // true|false // ... }

    online 和 offline 事件:

    當瀏覽器脫機或上線時,瀏覽器還支持 online 和 offline 事件

    window.addEventListener('online', function(e){console.log('online')});
    window.addEventListener('offline', function(e){console.log('offline');});

    你可以使用幾種熟悉的方式來注冊事件:

    • 在 windowdocument,或 document.body 上使用 addEventListener
    • 將 document 或 document.body 的 ononline 或 onoffline 屬性設置為一個 JavaScript Function 對象。(注意:由于兼容性原因,不能使用 window.ononline 或 window.onoffline。)
    • 在 HTML 標記中的 body 標簽上指定 οnοnline=”…” 或 οnοffline=”…” 特性。

    注意事項:

    • IE8中需要給document.body綁定事件而不是window
    • 在線離線的變化指的是物理上的網絡鏈接變化,如果是在控制臺將網絡限制為 offline 則不會觸發相應的事件。

    實例代碼:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>用 JavaScript 檢測瀏覽器在線/離線狀態(JavaScript API?—?navigator.onLine)</title>
        <style type="text/css"> #status {
                position: fixed;
                width: 100%;
                font: bold 1em sans-serif;
                color: #FFF;
                padding: 0.5em;
            }
            #log {
                padding: 2.5em 0.5em 0.5em;
                font: 1em sans-serif;
            }
            .online {
                background: green;
            }
            .offline {
                background: red;
            } </style>
    </head>
    <body>
    <div id="status"></div>
    <div id="log"></div>
    <button type="button" id="test">檢查狀態</button>
    <script> window.addEventListener('load', function () { var testBtn = document.getElementById("test"); var status = document.getElementById("status"); var log = document.getElementById("log");
    
        function updateOnlineStatus(event) { var condition = navigator.onLine ? "online" : "offline";
            status.className = condition;
            status.innerHTML = condition.toUpperCase();
    
            log.insertAdjacentHTML("beforeend", "Event: " + (event?event.type:"-") + "; Status: " + condition+ " | ");
        }
    
        window.addEventListener('online', updateOnlineStatus);
        window.addEventListener('offline', updateOnlineStatus);
        testBtn.addEventListener("click", updateOnlineStatus);
        updateOnlineStatus();
    }); </script>
    </body>
    </html>
        

    總結:

    1、navigator.online屬性提供瀏覽器是否在線的布爾值

    2、瀏覽器脫機或上線還支持online和offline事件(IE8需要給document.body綁定事件而不是window)

    藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請加藍小助,微信號:ben_lanlan,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系01063334945。


    分享此文一切功德,皆悉回向給文章原作者及眾讀者.
    免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。


    藍藍設計m.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務UI設計公司、界面設計公司、UI設計服務公司、數據可視化設計公司、UI交互設計公司、高端網站設計公司、UI咨詢、用戶體驗公司、軟件界面設計公司

    日歷

    鏈接

    個人資料

    藍藍設計的小編 http://m.skdbbs.com

    存檔

    主站蜘蛛池模板: 亚洲欧美精品综合中文字幕| 欧美精品福利视频一区二区三区久久久精品| 欧美精品亚洲精品日韩| 久久狠狠一本精品综合网| 国产精品成人无码久久久久久 | 2023国产精品自拍| 无码人妻精品一区二区三区东京热 | 91麻豆精品国产自产在线观看一区 | 欲帝精品福利视频导航| 久久国产精品波多野结衣AV| 6080亚洲精品午夜福利| 国产精品麻豆高清在线观看| 精品无人码麻豆乱码1区2区| 亚洲av午夜福利精品一区| 亚洲欧美精品午睡沙发| 无码国产亚洲日韩国精品视频一区二区三区 | 国产成人精品日本亚洲| 久久精品国产亚洲av日韩| 亚洲精品乱码久久久久久久久久久久| 国产精品九九久久免费视频 | 国产精品熟女福利久久AV | 日产精品久久久久久久| 中文字幕亚洲精品无码| 亚洲精品国产日韩无码AV永久免费网 | 欧美精品丝袜久久久中文字幕| 国产精品综合久成人| 丰满人妻熟妇乱又伦精品劲| 最新国产精品亚洲| 亚洲国产精品一区二区久久| 四虎影视国产精品亚洲精品hd| 久久91综合国产91久久精品| 国产精品黄网站| 精品免费视在线观看| 日本人精品video黑人| 91精品国产福利在线观看| 白浆都出来了视频国产精品 | 99久久精品国产毛片| 亚洲嫩草影院久久精品| 国产精品福利片免费看| 国产精品亚洲w码日韩中文| 精品第一国产综合精品蜜芽|