<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          用 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');});

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

          • 在 window,document,或 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。


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


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

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合