Javascriptについて質問です

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アニが止まってしまうようです

回答の条件
  • 1人5回まで
  • 登録:2008/04/28 02:52:09
  • 終了:2008/05/05 02:55:03

回答(2件)

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332008/04/28 06:52:06

ポイント35pt

たしかに IE6 では画面遷移時にアニメーションGIFが止まります。

ご質問で紹介のあったページは、重たいJavaScript(クライアントサイド・プログラム)の実行中の割り込みをコントロールしてアニメーションGIFを動かし続けるというものなので、画面遷移時に止まるという問題の解決にはなりません。


(解決策・その1)

アニメーション GIF の代わりに Flash を使う。


(解決策・その2)

Ajaxを使った非同期通信にする。これなら、サーバサイドからの応答があるまで、アニメーション GIF は動き続けます。


蛇足ですが、PHP(サーバサイド・プログラム)の処理が5秒かかるというのは、ちょっと長いと思います。処理を分割させるなり、最適化させるなりすることはできないのでしょうか。

id:dedara

回答ありがとうございます。(同期通信のまま)Javascript自体でどうにかできるものではないのですね。

提示していただいた解決策を試してみたいと思います。

【追記】

非同期通信を利用することで改善することができました。ありがとうございます。ただサーバーとの通信が終了してから実際の画面遷移を行う段階で止まうのが若干気になるところです(この間隔は短くなりましたがFireFoxの場合はよりギリギリまで動いてるので)

2008/04/29 13:39:38
id:itss No.2

itss回答回数171ベストアンサー獲得回数12008/04/28 15:55:12

ポイント35pt

Hi,

気にしすぎです。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません