• 締切済み

ダウンロード後に自動で画面を移動

簡単なダウンロードシステムを制作しています。 サーバ側はPHPを使用しています。 ダウンロード画面からファイルを選択し、ダウンロードのポップアップ「開く」「保存」「キャンセル」のどれかを選択後に、ダウンロード画面を完了画面に推移したいと考えています。 この場合、ダウンロードのポップアップが表示された時点でクライアント側に処理が移行しているので、PHPは無関係と考えております。 JavaScriptや他の方法で可能であればご教授下さい。 宜しくお願いします。

みんなの回答

  • RamieL-
  • ベストアンサー率100% (3/3)
回答No.2

例えばですが、ダウンロードというボタンか何かをクリックさせて ダウンロードさせる仕組みだと思うのですが、 そのリンク先を新規ウインドウ、元のウインドウを完了画面に移動とすれば 思ったような結果が得られるのではないでしょうか。 1.ダウンロードクリック 2.新規ウインドウ側でダウンロードさせポップアップを開かせる 3.元のウインドウはその間に完了画面に移動 4.新規ウインドウで開くページの最後で    Javascript:window.close() を実行して何事もなかったように 詳しいシステムの動作がわからないので これぐらいしかアドバイスできませんが お役に立ちますでしょうか。

noname#181544
質問者

お礼

色々試してみたのですが、新しく開いた別ウィンドウでダウンロード+window.close()は出来なそうです。 ダウンロード開始時にページ移動させ、別ポップでダウンロードする形で対応を考えたいと思います。 有難う御座いました。

すると、全ての回答が全文表示されます。
回答No.1

ほとんどのブラウザでは、ダウンロード用のダイアログやウインドウを表示して、そちらで制御しているので、 もとのウインドウは閉じられているかも知れませんから、 基本的にはダウンロード完了を感知することはできないと思います。 ダウンロード開始前(開始時)に「ありがとうございました」などと表示しておくところが一般的ですしね。 推測だけですが、 PHPを使ってenctypeにmultipart/alternativeか何かを指定して 1つ目に保存してほしいデータ、2つ目にHTMLを送信することで、 もしかすると2つ目のHTMLの部分をブラウザで表示するかも知れません。 ブラウザがmultipartに対応してなければ、たぶん保存してほしいデータが壊れると思いますが。

noname#181544
質問者

お礼

やはり感知は無理ですか; ダウンロード開始時にページ表示させ、別ポップでダウンロードする形で対応を考えたいと思います。 有難う御座いました。

すると、全ての回答が全文表示されます。

関連するQ&A