piayo's blog

はっさみYO! 沖縄でまったりWeb制作

iframeにpostを覚えた。

 

とあるサイトの構築でのこと。

 

画面に出された内容をテキストファイルとかに保存(download)するボタンを実装

jQueryとか使ってHTMLを解析して、いったんobjectツリーに保存。

 

var form = document.createElement("form");
で一時的にformやhiddenを作成。そんで、window.open&POSTでphpに飛ばす。
参考:http://d.hatena.ne.jp/ujiujise/20081218/p1

 

header("Content-type: text/plain");
header('Content-Disposition: attachment; filename="HOGE_TEXT.txt"');
print $text_all;
exit;

 

でやればダウンロードが始まる。よっしゃ完成!

 

と思っていたが、IEでこけた。・・・ブロックしやがる。

 

いろいろ調べまくっても解決できない。

お隣の人(先輩)が一言、「iframeでやれば?」。

 

!!!

 

空のiframeを準備しとく。

<iframe id="KARA_IF" name="KARA_IF" width="0" height="0" border="0"></iframe>

CSSでは#KARA_IFでz-index:-1とかしとく。

form.targetは“KARA_IF”で飛び先をiframeへ。

 

すんなりおっけーでした。

IE, Chrome, Firefox, Opera, 大丈夫でした。

めでたしめでたし。iframe好き。