Ticket #22103

iscroll 的なものはいったん やめ

오픈 날짜: 2010-06-05 11:41 마지막 업데이트: 2011-09-16 15:25

Reporter:
소유자:
Status:
Closed
Priority:
8
Severity:
5 - Medium
Resolution:
None
File:
None

Details

iscroll/TouchScroll 使って、必要な部分だけスクロールするUIにすることを考えてたが 以下の理由でいろいろ 問題がありすぎるので (なんらか改善する方法がない限り)いったんやめることにしよう。

  • ブラウザ画面自体のスクロールを抑制するために、touch{Start,move}あたりの(いずれかの)イベントがブラウザまでいかないように止めないと(preventDefault() しちゃわないと)いけないわけだが、そうするとブラウザ自体がもってる他の機能(例えば、iPhoneのリンク長押しででるポップアップとか)も一切使えなくなる。
  • 上記とからんでtouchStartを止めてしまうとAndroidだとtouchによるリンククリックが全く動かなくなるという致命的な状況が発生する
  • touchMove で止めようとすると、スクロール開始前後(実装方法というかスクロールアニメーションの開始タイミングによるはずだが、順番が前後するだけで本質的に問題はかわらない)に click イベント相当が発生してしまうため、例えば iscroll だとスクロールが終わったあとの状態でスクロールのためにtouchを開始した位置にリンクが移動してくると勝手にリンクがクリックされたようなことになってしまう。チャネルリストのように「ほぼ全面リンクです」 みたいな画面だともはやまともな操作ができない感じになるし、そうじゃなくても意図しないリンクが唐突にクリックされてしまうので危険極まりない
  • css アニメーションを使ってスクロールっぽく見せているわけだけど、この処理が(iPhone 3GSだとそれなりの速度で動くのだけど)Androidだとどうにもならないくらい遅い(というか、遅いからか処理がすっとばされるので全然スクロールしてるように見えない)。Android 2.2 だとだいぶ改善するようだけど、逆にいうと2.1以下だと機能していないに等しい
  • まぁターゲットがiPhone/Android なのでいいといえばいいんだけど touch* イベントでごちゃごちゃやっているので、touch* イベントをサポートしてないブラウザ(iPhone/Android 以外の多くのブラウザ)ではつかいものにならない。

Ticket History (3/7 Histories)

2010-06-05 11:41 Updated by: ishikawa
  • New Ticket "iscroll 的なものはいったん やめ" created
2010-06-05 19:12 Updated by: ishikawa
  • Status Update from Open to Closed
  • Ticket Close date is changed to 2010-06-05 19:12
댓글 올리기

ということで、オーソドックスな感じのUIに戻した。

2010-06-11 23:58 Updated by: ishikawa
댓글 올리기

いじったら、ディフォルトのlong tap popup が出せない以外はどうにかなったので やっぱりやめない(わら

2011-09-16 14:07 Updated by: None
댓글 올리기

突然のコメント、大変失礼いたします。 Google検索経由で、iScrollに関するこちらの書き込みを拝見させていただきました。 言及されている中で、「ディフォルトのlong tap popup が出せない以外はどうにかなったので」とコメントされておりますが、Androidで処理が非常に重たい件も、ある程度は解決されたのでしょうか。。 ただ今非常に困窮しておりまして、もし宜しければ簡単にでもヒントを教えていただけると大変助かります。。

2011-09-16 15:17 Updated by: ishikawa
댓글 올리기

None への返信

突然のコメント、大変失礼いたします。 Google検索経由で、iScrollに関するこちらの書き込みを拝見させていただきました。 言及されている中で、「ディフォルトのlong tap popup が出せない以外はどうにかなったので」とコメントされておりますが、Androidで処理が非常に重たい件も、ある程度は解決されたのでしょうか。。 ただ今非常に困窮しておりまして、もし宜しければ簡単にでもヒントを教えていただけると大変助かります。。

パフォーマンスに関しては 端末側の問題でどうにもできないので 特に状況はかわってません

2011-09-16 15:25 Updated by: ishikawa
댓글 올리기

あぁ あとちなみに .keitairc に webkit_newui = 0 と記述しておけば、古い方の iPhone UI が出ます(ただし、こっちは今後メンテナンスされない予定ではありますが...)

2011-09-16 15:35 Updated by: None
댓글 올리기

返信ありがとうございます! ※Noneでの発言となり、失礼いたしました。 やはり端末のスペック依存ですよね。。Android2.3搭載の比較的新しい機種のシェアが増えることを祈るばかりです。 ご丁寧にコメント頂きまして、有難うございました!

Attachment File List

No attachments

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login