IE8でjQueryというかJavaScriptが動かない。

思い出したのでメモ。

とあるお仕事で管理画面を作成しました。
画面遷移させたくなかったので、画像の登録をポップアップしたウィンドウ内で行うようにしていたところ。
IE8で動作しないとクレームが。

同じような動作をさせている箇所が複数あるのに、とある機能だけポップアップするものの内容が表示されない。
※ちなみにポップアップに使用したのはjQueryプラグインの「prettyPopin」。

エラーログを見てみると「エラー 80020101」とあるのでぐぐってみると…。

来ましたコレ。
JavaScriptの動かないコード (中級編) Ajax読み込み時に「80020101」のエラー – 主に言語とシステム開発に関して

いわく

IE6,IE7では,Ajaxで読み込まれるページのJavaScriptが

<script type=”text/javascript”>
<!–
~~
//–>;
</script>

のように丁寧にコメントアウトされていると,

80020101のため操作を完了できませんでした

のエラーが表示される。

エラーの起こっているコードみたら…コメントアウトしてた…。
で、エラーの起こってないコードを見たら…コメントアウトしてない。

なんの罰ゲームですかコレ。
しかもIE8でも再現してますやん。

で、ためしにコメントタグを消してやると…。
ちゃんと動きましたよ…。

レスキューしていただいたページの最後のコメントが…。

ちなみにFirefoxでは,前者の記法でも正常に動く。Firebugも何も言わない。

これは,かなりはまる。

まさに…。どっぷりハマりました。
このエントリーがなかったら解決できていたかどうかかなり怪しいです。

ありがたやありがたや。

IEでファイルダウンロードができない

お仕事で不具合修正したのでメモです。

$dl_file = 'hoge/hogehoge.zip';
header("Content-Disposition: inline; filename=$file");
header("Content-Length:$file_length");
header("Content-type: application/zip");
readfile($dl_file);

こんなコードでzipファイルをダウンロードできる仕組みを作ったところ、IEではダウンロードできないといわれました。
そういえば、IEでテストしていませんでした…。

あわてて試してみると…。

Internet Explorerでは、 hoge をダウンロードできません。

このインターネットのサイトを開く事ができませんでした。要求されたサイトが使用できないか、見つけることができません。後でやり直してください。

そんなごむたいな。

(さらに…)