Chromeでファイルのダウンロードが完了したかどうかを確認するにはどうすればよいですか?

Exik

ユーザーがダウンロードボタン/リンクをクリックすると、ロード画面がページに表示されます。ダウンロードプロセスが終了した後、このボタンでonblurイベントを使用して、ロード画面を非表示にします。どのブラウザでも正常に動作しますが、GoogleChromeでは動作しません。

Chromeで使用できるイベントリスナーやその他の簡単な方法はありますか?

リンク:

<a href="/resources/foo" class="show-ls" onblur="hideLS()">Download</a>

show-ls関数はロード画面を表示するだけです:

$('.show-ls').click(function () {
  $('#loading-screen').show();
});

読み込み画面は本体のdiv要素です:

<div id="loading-screen" class="loading-screen" style=""></div>

.loading-screen {
  background: rgba(255, 255, 255, 0.6) url('/images/loadingscreen.gif') no-repeat fixed center center;
  width: 100%;
  height: 100%;
  position: fixed;
}

hideLS関数は、ロード画面を非表示にするだけです。

hideLS= function () {
  var loadingScreen = $('div.loading-screen');
  if (loadingScreen.length > 0)
    loadingScreen.hide();
};

ダウンロードプロセスは問題ありません。ロード画面も問題ありません。問題は、Chromeでファイルのダウンロードが完了した後にロード画面を非表示にすることだけです。

yunzen

ぼかしイベントは、ブラウザで機能するかどうかに関係なく、脆弱な回避策にすぎません。

blurイベント手段は、その何かがフォーカスを失っています。Firefoxブラウザ(とりわけ)が実際にクリックしたリンクをぼかす可能性がありますが、他の何かもそのリンクをぼかす可能性があります(タブの変更、ロード画面のクリックなど)。それはあなたが望まないかもしれないものです。

また、HTTPはステートレスプロトコルであるため、サーバーの助けなしにこれがいつ終了するかをクライアント側で知ることはできません。また、ファイルのダウンロードは「別のタブ」にあり、アクセスできない別のコンテキストにあるため、JSに依存してこれを検出することはできません。

私が想像できる唯一の解決策(および他の解決策もそうです):ダウンロードが開始されたら、定期的に(500ミリ秒ごとなど)サーバーのダウンロードステータスをチェックするJS間隔を開始します。サーバー側では、ダウンロードの開始時にユーザーへのダウンロードを識別し、要求されたときにクライアントにステータスを応答する必要があります。もちろん、これがどのように機能するかは、使用するサーバー環境とプログラミング言語によって異なります。PHPで動作させることはできますが、他のすべての言語を知っているわけではありません。

ところで:ロード画面(またはスプラッシュ画面)はソフトウェアがロードされる前に一度表示される画像であるため、「ロード画面」を「ロードインジケーター」と呼びます(少なくとも私のコンピューター/脳では)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Python3のダウンロードが完了するファイルを確認するにはどうすればよいですか?

分類Dev

Perlを使用して、コードの確認が必要なファイルをダウンロードするにはどうすればよいですか?

分類Dev

ダウンロードしたファイルのMACをopensslで確認するにはどうすればよいですか?

分類Dev

Dropboxが現在アップロード/ダウンロードしているファイルを確認するにはどうすればよいですか?

分類Dev

アップロードされたファイルの形式が正しいかどうかを確認するにはどうすればよいですか?

分類Dev

完了したダウンロードの.torrentファイルを見つけるにはどうすればよいですか?

分類Dev

アップロードしたファイルが「マルチパート」かどうかを確認するにはどうすればよいですか?

分類Dev

Windows 7のChemAxonから大きなファイルをダウンロードするには、ファイル全体がダウンロードされていることを確認するにはどうすればよいですか?

分類Dev

iframeがPDFファイルを完全にロードしたかどうかを確認するにはどうすればよいですか?

分類Dev

アップロードされたファイルが画像か他のファイルかを確認するにはどうすればよいですか?

分類Dev

PythonでBotoを使用してS3バケットへのファイルのアップロードが完了したかどうかを確認するにはどうすればよいですか?

分類Dev

Aws :: Transfer :: Transfermanagerを使用したダウンロードが成功したかどうかを確認するにはどうすればよいですか?

分類Dev

curlなどのコマンドがエラーなしで完了したかどうかを確認するにはどうすればよいですか?

分類Dev

FTPサーバーからファイルをダウンロードし、ダウンロードが完了したらサーバーから自動的に削除するにはどうすればよいですか?

分類Dev

ファイルがgitlfsに正しくアップロードされるかどうかを確認するにはどうすればよいですか?

分類Dev

ファイルがアップロードされたかどうかを確認するにはどうすればよいですか?

分類Dev

JSONファイルが空でないかどうかを確認し、一時フォルダー内のファイルからJSONデータを正しくロードするにはどうすればよいですか?

分類Dev

ファイルのダウンロードが完了するまで待つにはどうすればよいですか

分類Dev

スクリプトを使用してアーカイブをダウンロードおよび抽出するにはどうすればよいですか(後続のコマンドにダウンロードされたファイルを確実に指定するにはどうすればよいですか)。

分類Dev

Pythonを使用してファイルが完全にダウンロードされているかどうかを確認するにはどうすればよいですか?

分類Dev

ダウンロード用のファイルを提供するにはどうすればよいですか?

分類Dev

ユーザーがウィンドウボタンを閉じようとしたときにファイルが保存されているかどうかを確認するにはどうすればよいですか?

分類Dev

ドキュメントフォルダにファイルが存在するかどうかを確認するにはどうすればよいですか?

分類Dev

EPUBファイルをダウンロードしましたが、UbuntuからiPadに取得するにはどうすればよいですか?

分類Dev

EPUBファイルをダウンロードしましたが、UbuntuからiPadに取得するにはどうすればよいですか?

分類Dev

SQLの更新が完了したかどうかを確認するにはどうすればよいですか?

分類Dev

Firebase Storage Android:ダウンロードしたファイルのファイル名を変更するにはどうすればよいですか?

分類Dev

ファイルがすでに存在するかどうかを確認する方法、存在しない場合はPythonでダウンロードしますか?

分類Dev

JavaからダウンロードしたSFTPファイルのパスワードを復号化するにはどうすればよいですか?

Related 関連記事

  1. 1

    Python3のダウンロードが完了するファイルを確認するにはどうすればよいですか?

  2. 2

    Perlを使用して、コードの確認が必要なファイルをダウンロードするにはどうすればよいですか?

  3. 3

    ダウンロードしたファイルのMACをopensslで確認するにはどうすればよいですか?

  4. 4

    Dropboxが現在アップロード/ダウンロードしているファイルを確認するにはどうすればよいですか?

  5. 5

    アップロードされたファイルの形式が正しいかどうかを確認するにはどうすればよいですか?

  6. 6

    完了したダウンロードの.torrentファイルを見つけるにはどうすればよいですか?

  7. 7

    アップロードしたファイルが「マルチパート」かどうかを確認するにはどうすればよいですか?

  8. 8

    Windows 7のChemAxonから大きなファイルをダウンロードするには、ファイル全体がダウンロードされていることを確認するにはどうすればよいですか?

  9. 9

    iframeがPDFファイルを完全にロードしたかどうかを確認するにはどうすればよいですか?

  10. 10

    アップロードされたファイルが画像か他のファイルかを確認するにはどうすればよいですか?

  11. 11

    PythonでBotoを使用してS3バケットへのファイルのアップロードが完了したかどうかを確認するにはどうすればよいですか?

  12. 12

    Aws :: Transfer :: Transfermanagerを使用したダウンロードが成功したかどうかを確認するにはどうすればよいですか?

  13. 13

    curlなどのコマンドがエラーなしで完了したかどうかを確認するにはどうすればよいですか?

  14. 14

    FTPサーバーからファイルをダウンロードし、ダウンロードが完了したらサーバーから自動的に削除するにはどうすればよいですか?

  15. 15

    ファイルがgitlfsに正しくアップロードされるかどうかを確認するにはどうすればよいですか?

  16. 16

    ファイルがアップロードされたかどうかを確認するにはどうすればよいですか?

  17. 17

    JSONファイルが空でないかどうかを確認し、一時フォルダー内のファイルからJSONデータを正しくロードするにはどうすればよいですか?

  18. 18

    ファイルのダウンロードが完了するまで待つにはどうすればよいですか

  19. 19

    スクリプトを使用してアーカイブをダウンロードおよび抽出するにはどうすればよいですか(後続のコマンドにダウンロードされたファイルを確実に指定するにはどうすればよいですか)。

  20. 20

    Pythonを使用してファイルが完全にダウンロードされているかどうかを確認するにはどうすればよいですか?

  21. 21

    ダウンロード用のファイルを提供するにはどうすればよいですか?

  22. 22

    ユーザーがウィンドウボタンを閉じようとしたときにファイルが保存されているかどうかを確認するにはどうすればよいですか?

  23. 23

    ドキュメントフォルダにファイルが存在するかどうかを確認するにはどうすればよいですか?

  24. 24

    EPUBファイルをダウンロードしましたが、UbuntuからiPadに取得するにはどうすればよいですか?

  25. 25

    EPUBファイルをダウンロードしましたが、UbuntuからiPadに取得するにはどうすればよいですか?

  26. 26

    SQLの更新が完了したかどうかを確認するにはどうすればよいですか?

  27. 27

    Firebase Storage Android:ダウンロードしたファイルのファイル名を変更するにはどうすればよいですか?

  28. 28

    ファイルがすでに存在するかどうかを確認する方法、存在しない場合はPythonでダウンロードしますか?

  29. 29

    JavaからダウンロードしたSFTPファイルのパスワードを復号化するにはどうすればよいですか?

ホットタグ

アーカイブ