WEBページ作成しているのですが画面遷移時IE6でアニメーションGIFが止まってしまいます
submitのinputオブジェクトをクリックしたり、あるいはbuttonのinputオブジェクトのonclickイベントでjavascriptの関数を読んでsubmit()すると次の画面が表示されるまでの間、アニメーションGIFが止まってしまいます。
次画面はPHPプログラムで始まり少し重たい処理があるのでアニメーションGIFが止まった画面が5秒くらい表示されたあとに次の画面が表示される感じです。
FireFoxだとアニメーションGIFは動いたままだったのでIE6のバグのように感じました。IE6でもアニメーションGIFを動かした状態で画面遷移させたいのですが良い方法はないでしょうか。
http://un-q.net/2008/02/gif_javascript_ie6.html
このあたりの記事を見ると
<a href="javascript:test();">テスト</a>などをクリックしたときにIE6ではアニメーションGIFが止まる、と書かれています。その場合onclickでjavascriptを呼び出すと良いという風に書いてあります(onclick="test(); return false;" こんな感じで)
これに習ってonclickイベントでreturn false;の記述を追加してみたのですがsubmit()からの画面遷移があるとそこでGIFアニが止まってしまうようです
たしかに IE6 では画面遷移時にアニメーションGIFが止まります。
ご質問で紹介のあったページは、重たいJavaScript(クライアントサイド・プログラム)の実行中の割り込みをコントロールしてアニメーションGIFを動かし続けるというものなので、画面遷移時に止まるという問題の解決にはなりません。
アニメーション GIF の代わりに Flash を使う。
Ajaxを使った非同期通信にする。これなら、サーバサイドからの応答があるまで、アニメーション GIF は動き続けます。
蛇足ですが、PHP(サーバサイド・プログラム)の処理が5秒かかるというのは、ちょっと長いと思います。処理を分割させるなり、最適化させるなりすることはできないのでしょうか。
回答ありがとうございます。(同期通信のまま)Javascript自体でどうにかできるものではないのですね。
提示していただいた解決策を試してみたいと思います。
【追記】
非同期通信を利用することで改善することができました。ありがとうございます。ただサーバーとの通信が終了してから実際の画面遷移を行う段階で止まうのが若干気になるところです(この間隔は短くなりましたがFireFoxの場合はよりギリギリまで動いてるので)