ウェブページのダウンロード進行状況を表示するJavaScriptコード


<!DOCTYPE html>
<html>
<head>
  <title>ウェブページのダウンロード進行状況</title>
  <style>
    #progress-bar {
      width: 100%;
      background-color: #f2f2f2;
    }
    #progress-bar-fill {
      height: 5px;
      background-color: #4caf50;
      width: 0;
    }
  </style>
</head>
<body>
  <h1>ウェブページのダウンロード進行状況</h1>
  <div id="progress-bar">
    <div id="progress-bar-fill"></div>
  </div>
  <script>
    // ページのダウンロード進行状況を監視するための関数
    function trackDownloadProgress() {
      var progressBarFill = document.getElementById('progress-bar-fill');
      var totalSize = 1000; // ダウンロードするファイルの総サイズ(例として1000とします)
      var downloadedSize = 0; // ダウンロード済みのサイズ
      // ダウンロード進行状況を更新する関数
      function updateProgress() {
        var progress = (downloadedSize / totalSize) * 100;
        progressBarFill.style.width = progress + '%';
        if (downloadedSize < totalSize) {
          // まだダウンロードが完了していない場合は、0.5秒ごとに進行状況を更新する
          downloadedSize += 10; // 10は例としてダウンロードされたサイズを表します
          setTimeout(updateProgress, 500);
        }
      }
// ダウンロード進行状況を開始する
      updateProgress();
    }
// ページの読み込みが完了したらダウンロード進行状況を開始する
    window.onload = trackDownloadProgress;
  </script>
</body>
</html>

上記のコードでは、ウェブページのダウンロード進行状況を表す進行状況バーを作成しています。進行状況バーはCSSでスタイリングされ、JavaScriptでダウンロードの進行状況を監視して更新します。

具体的には、trackDownloadProgress 関数がダウンロードの進行状況を監視します。totalSize 変数にはダウンロードするファイルの総サイズを指定します(例として1000としています)。downloadedSize 変数はダウンロード済みのサイズを表し、updateProgress 関数によって進行状況バーの表示が更新されます。

updateProgress 関数では、ダウンロード済みのサイズと総サイズから進行状況を計算し、進行状況バーの幅を更新します。ダウンロードが完了していない場合は、0.5秒ごとに進行状況を更新するように設定されています。ここではダウンロードされたサイズを10ずつ増やしていると仮定していますが、実際のコードではダウンロードの進行状況に応じて適切な値を使用する必要があります。

最後に、window.onload イベントハンドラを使用して、ページの読み込みが完了したらダウンロード進行状況を開始します。このようにすることで、ページの読み込みが完了すると自動的にダウンロード進行状況が表示されます。

上記のコードを使用すると、ウェブページのダウンロード進行状況を示す進行状況バーを実装することができます。必要に応じてスタイルや挙動をカスタマイズし、ウェブページに組み込んでください。