[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

javascriptでダウンロード終了を検知する

http://nabehiro.hatenablog.com/entry/20140208/1391850498
ファイルダウンロードと同時にダウンロード完了のcookieを送り、javascriptで定期的にcookie内容を監視することでダウンロード完了を検知する。
この方法だと、IEでもEdgeでもFirefoxでもchromeでもダウンロード終了を検知できた。
1. ブラウザ側:ダウンロード検知Cookieを初期化しておく。「donloaded=0」。
2. ブラウザ側:setIntervalで定期的にCookieを監視する。「donloaded=1」になっていたらダウンロード終了。
3. ブラウザ側:自身のウインドウに対して、location.hrefやform.submit()することでダウンロードをリクエストする
4. サーバ側 :ダウンロード結果を送信するとき、httpヘッダで「donloaded=1」というCookieを付けて送信する。



cookieにpathを明示的に指定するとIEchromeでそれぞれ挙動が違うというのに嵌ったのでpathは指定しないほうがいいかも。