フロントエンド開発Blog

オレには鈍器がある

Android , JavaScript , 機種依存

android4.0系かつ、ajaxで動的にHTMLが更新される一部の処理で
レンダリングがスリープしてしまい、画面表示が更新されなくなるバグに悩まされました。

http://jsdo.it/oredon/L78r

どういった条件下でこのようなバグが発動するのか、
はっきりとは言及できませんが以下のような症状になります。

  • ajax終了後、body内にappendしているが画面に表示されない
  • ただし、「本来ならそこに要素があるであろう位置」をタップすると再描画される

「なんらかの原因により、レンダリングがスリープしてしまい、再描画の実行に失敗している」
と仮説を立て、それならば「レンダリングがスリープしないよう、画面上に常に
再描画が必要なアニメーション処理を施せばよいのでは」と思い、実装しました。

結果、正常にレンダリングされるようになりました。

ajaxを多用するページでは目視による動作確認を念入りにしないといけませんね。。

ページトップへ

関連ページ

ページトップへ