IEは自画面へのPOSTでダウンロード処理させると履歴が消える
履歴が消える!
IEにおいて、表示中のURLと同じURLへのpostでダウンロード処理をさせると、その画面の履歴が無くなります!
(ブラウザの戻るボタンで戻った時に、さっき見ていたはずのページが表示されません)
どういうこと?
ページ1→ページ2→ページ3とページ移動させるようなリンクが貼ってあるとしましょう。ページ2にはダウンロードボタンがあります。ダウンロード処理はページ2と同じURLで行います。
ページ1からページ2へ移動し、そこでダウンロードボタンを押してファイルをダウンロードしてから、ページ3へ移動します。
ブラウザの戻るボタンを押すと、ページ2に戻るはずがいきなりページ1に戻ってしまいます。
解決方法
ダウンロード処理を表示中のURLと違うURLにしましょう。末尾に「?」を付けるだけでもOK。
以下はColdFusionの例ですが、post先がaction="dltest2.cfm"
と自分のURLになっている箇所をaction="dltest2.cfm?download"
などダミーのパラメータを付加してやります。
本当はダウンロード処理を別モジュールにするべきなんでしょうけど、既に作ってしまって修正が面倒なときは参考にしてください。
<CFIF isDefined("form.btnSubmit")>
<CFHEADER name="Content-Disposition" value="attachment; filename=testfile.txt">
<CFCONTENT type="text/comma-separated-values" file="e:\testfile.txt" deleteFile="no">
</CFIF>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>2番目のページ</title>
</head>
<body>
<h3>2番目のページ</h3>
<a href="dltest1.cfm">前へ</a> <a href="dltest3.cfm">次へ</a>
<form method="post" action="dltest2.cfm">
<input type="submit" name="btnSubmit" value="download">
</form>
</body>
</html>
Author And Source
この問題について(IEは自画面へのPOSTでダウンロード処理させると履歴が消える), 我々は、より多くの情報をここで見つけました https://qiita.com/namitan/items/013c05f71e9a29cf1f32著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .