4

スクロールとレンダリング、および JavaScript に関連する奇妙な動作を見つけました。

それを実現する方法:

スクロールするのに十分な長さの Web ページ。かなり速くスクロールを開始します (ページをめくります)。タッチを離します。勢いのためにページがまだスクロールしている間。画面をタップしてスクロールを停止します。

これにより、ブラウザは奇妙なモードに入ります。

nexus 1 では、次のように動作します。画面に表示される内容の更新が停止し、リンクをクリックして目的の場所に移動することはできますが、画面に表示される内容は変わりません。

次に画面を少しスクロールすると、画面の更新が再び開始され、常に見たいと思っていた場所が表示されます。

私が試したHTC Senseを搭載したすべての電話(Hero、Desire、Legend)で、これが起こります:

nexus と同じように画面の更新が停止されますが、JavaScript の実行も停止されます。別のページに移動するリンクをクリックすると、通常の状態に戻ります。

これをテストした方法は、次のようなページを作成することでした。

http://pastebin.ca/1881620

changeColor 関数は、'container' の背景色をいくつかの異なる色に変更しただけです。

したがって、エラーが発生する前に、リンクをクリックすると色が変わります。

エラーの後、これが起こります:

ネクサス 1: リンクをクリックしても何も起こりません (リンクがクリックされたかのように「オレンジ色のリンクが選択された角の丸いボックス」が表示されることを除いて)。次に、少しスクロールすると。色が変わったことがわかります (リンクをクリックした回数と同じ回数)。

感覚的に: リンクは google.com に連れて行ってくれます

他の誰かがこの問題に気づきましたか? とにかくそれを回避する方法はありますか?

ありがとう。

4

1 に答える 1

0

iScroll4など、ブラウザのスクロール プロセスを操作するプラグインを使用してみてください。

iScroll4 を使用すると、いくつかの非常に優れた機能 (ヘッダー/フッターの修正など) を実行できますが、一部の古い / 安っぽい Android フォンではパフォーマンスの問題がいくつかありました...

それがあなたの問題を解決することを保証することはできませんし、それは一種の最後の手段ですが、iScroll の他の機能に興味がある場合、または行き止まりにぶつかった場合は、試してみる価値があるかもしれません。あなたのバグ、そしてそれはあなたのアプリのショーストッパーです.

于 2012-03-15T18:42:43.177 に答える