人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: dedara
●カテゴリ:ウェブ制作
✍キーワード:firefox GIF IE6 JavaScript PHP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●35ポイント

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

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


(解決策・その1)

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


(解決策・その2)

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


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

◎質問者からの返答

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

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

【追記】

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


2 ● itss
●35ポイント

Hi,

気にしすぎです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ