アフィリエイト広告を利用しています

広告

posted by fanblog

2016年01月17日

【Javascript】ファイルダウンロード後にページ遷移させる


エクセルファイルなど、ファイルをダウンロードさせた後にページ遷移や再読み込みを行うことがありました。

PHPの処理だけでは、ダウンロードの際にheaderを使用しているため、
ひとつの処理のなかでページ遷移を行うことができません。

javascript(今回はjQueryで記述)と
Cookie を利用することでファイルダウンロード後に処理を行うことができます。

処理の順番としては、
@クッキーの発行(ダウンロードフラグをたてる)
Aファイルダウンロード
Bダウンロードフラグがある場合、クッキー情報を削除してページ遷移

サンプルコードは以下。

PHPでクッキーを発行する


setcookie ("downloaded","yes","","/");

// ファイルダウンロード処理



HTML


<form>
<input type="submit" value="ダウンロード" />
</form>



javascript
※jquery.js, jquery.cookie.js を使用していることが前提。


// aタグで行う場合は、clickイベントで同様のことを行う
$("form").submit(function() {
setInterval(function () {
if ($.cookie("downloaded")) {
$.removeCookie("downloaded", { path: "/" });
window.location.href = '遷移先パス';
}
}, 1000);
});





【このカテゴリーの最新記事】
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/4631455
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索
カテゴリーアーカイブ

最新記事
×

この広告は30日以上新しい記事の更新がないブログに表示されております。