スマホサイトでアドレスバーを隠そうとするアレについて

スマホサイトでアドレスバーを隠そうとするアレについて
9
Naoki Hashimoto @hashcc

スマホサイトでsetTimeout("scrollTo(0,1)", 100)でアドレスバーを隠そうとする手法、読み込み中にコンテンツ内容を読みに行っていると、途中で上部に強制的に戻されてイラッとするのですが、異常に広まっていて迷惑…

2012-03-30 10:55:29
リャマ㌠ @roatnek

RTので言及されてる手法、余計なお世話ってやつだ。「おもてなし」系の

2012-03-30 11:05:40
Kazuhito Kidachi @kazuhito

@roatnek おもてなしどころかエゴな気すらするんですよ。

2012-03-30 11:11:16
リャマ㌠ @roatnek

@kazuhito ですね。「おもてなし」は皮肉を込めてそういう意図で使ってたりします😏

2012-03-30 11:12:51
Kazuhito Kidachi @kazuhito

「エゴだよ!それは!」(アムロがスマホをいぢりながら

2012-03-30 11:14:40
Taku Watabe @taku_eof

@roatnek スクロール量をチェックしてないから、そういうダメ挙動になってしまうんですよね。ちょっと条件分岐するだけでマシになります。まあロケーションバーを隠匿しようとすること自体、色々問題ありまくりなのは同意します……。

2012-03-30 11:21:59
Taku Watabe @taku_eof

スマートフォン環境における各ブラウザのロケーションバーの隠匿は、ある意味で window.open での location=no と同じことをしているといえる。スクロールすれば表示はできるだけ、IE6 時代よりはマシではあるが……。

2012-03-30 11:24:11
Taku Watabe @taku_eof

そのうち、ユーザーによる明示的なスクロールが行われない限り、ロケーションバーは強制表示する……という UI になりそうな気もする。

2012-03-30 11:24:53
Taku Watabe @taku_eof

@roatnek 簡単なようで奥が深い、工数がかかる、倫理的問題(?)もあるということで、色々めんどくさいんですよね。自分からは積極的に提案したことはないです。「こうしてよ」という要望であがってくるもの……という印象が。説得してダメだった場合はしぶしぶ実装せざるをえないんですが。

2012-03-30 11:28:59
Kazuhito Kidachi @kazuhito

@roatnek @taku_eof 描画領域を最大化したいなんてみんな(誰)思っているわけで、それを敢えてOS側で抑えているのにはそれなりの理由があってのことと思うし、デフォルトの挙動に手を加えるのはそれが善意に基づくものであってもストレスを生むリスクのほうが大きいと思う。

2012-03-30 11:29:09
リャマ㌠ @roatnek

Mobile Safariの「Webアプリケーションモード」ってどれぐらい活用されてるんやろう。apple-mobile-web-app-capableってやつ。アドレスバー・ナビゲーションバー消したいがために使われてる例ってどれぐらいあるんかな?

2012-03-30 11:29:41
Taku Watabe @taku_eof

めんどくさい場合の例:ビューポートよりコンテンツのほうが小さい場合、スクロール不可 → ロケーションバー隠匿不可なので、こうした場合でも強制的にロケーションバー隠匿するには、コンテンツをビューポートより大きくする必要がある。

2012-03-30 11:31:41
リャマ㌠ @roatnek

@kazuhito @taku_eof そうですね。「ブラウザの持ち物はいじるな」で育ってきてるんで個人的な抵抗感も強いです。不便に思うユーザーが多いのならやるべきは無理くり実装ではなく、ベンダーへのフィードバックでしょうね

2012-03-30 11:32:21
Taku Watabe @taku_eof

そしてビューポートサイズの取得は色々と鬼門。Mobile Safari の旧バージョンではビューポートサイズをまともに取得できなかった。

2012-03-30 11:38:08
Taku Watabe @taku_eof

Android Browser では window.outerHeight が CSS px でないため、Device Pixel Ratio で除算する必要がある。

2012-03-30 11:38:38
Taku Watabe @taku_eof

また resize や orientationchange にも対応する必要がある。iOS では orientationchange 時は window.screen の各値が再計算されてない。

2012-03-30 11:41:31
Taku Watabe @taku_eof

個人的に、いちばん気になってる懸念点は iOS ではナビゲーションバー分の height を取得することができないこと。マジックナンバーで書くのは嫌すぎる。やりかた知ってる方がいらしたら、ぜひ……。

2012-03-30 11:43:31