Android搭載のブラウザでjavascriptのスクロールイベントの処理が異様に遅い
2010/06/24(木) 20:42 覚え書きはてブ情報 はてブに登録 はてブ数

先日公開した「AmazonExplorer」では、スクロールするとAjaxで次のページを勝手に読み込むようにしてるんだけど、どうにも読み込み処理が遅い。遅いどころかまったく先に進まないときもある。
最初、Android端末の性能上、DOMの処理が追いついてないのかと思ったが、いろいろテストしてみたらどうやらスクロールのイベントを拾うのが異様にヘタらしい。
つまり、onclickイベントなどはすぐに拾ってくれるがonscrollイベントをうまく拾ってくれない。jqueryでの$(window).scrollも同様。

しばらく待っても処理されないときは処理されないので、遅いと言うより拾えてないのか??。何度もスクロールしてると拾ってくれるが、インタフェースとしてはかなりストレスが高くなってしまう。PCのスクロールと違ってタッチしてヌルヌル動かせるということが何かしら処理しづらい原因になっているのか?
いづれにせよ残念ながら解決策はみつからず。

原寸画像検索とかもAndroid対応しようと思ってたんだけど、ここが解決しないと快適性が得られないなあ..。ぐぐってもあんまり情報ないし。フローズンヨーグルトがこの辺を解決してくれてるとありがたいけど..。
なんかわかったらまたブログで書きます。
誰かこの辺について知ってる方いたら教えてください。

<2010/7/11追記>
結局スクロールイベントはあきらめてインターバルタイマーで処理することにしました。数秒ごとに残りスクロール量をチェックし、少なくなったら次を読み込むという形式です。
setInterval("次読み込み関数", チェック間隔(秒));
これでOK。

名前:  非公開コメント   

  • TB-URL  http://blog.k52.org/0129/tb/
  • 細かい改修 K52.NIKKI ver3.0 nihonyamori
    最近はサイトの細かいところをいじっております。■ceron.jpURL正規化一部大手サイトだけですが、ref=rss、from=twitterなどの計測用クエリがURLについていた場合は外して集計するようにしました。コメントが分散してしまうのを防ぐためです...