スクロール

Mobile Safariでロード後に1pxスクロールするあれはやめた方がいいと思う

iPhoneのMobile Safari用のサイトを作る際、
URLバー(ロケーションバー)をデフォルトで非表示にするため、
ページ読み込み完了時にwindow.scrollTo()で1pxだけスクロールさせるというテクニックがあります。

しかしこれには重大な欠点がありまして、読込中にコンテンツをスクロールしてても完了時に1pxのところに強制的に戻されちゃうのです。
ページ読み込み完了をおとなしく待ってるユーザがどれほどいるでしょうか。
しかも、ほとんどの場合、速度の遅い3G回線を使っているはずです。

というわけで、基本的にやらない方がよいと思います。特に長いコンテンツがあるページでは。
そもそもスクロールしたら勝手に非表示になりますしね。

どうしてもやりたいなら、せめて、Scrollバーの座標(iOS4からscrollTopが取れるようになったらしい)を見て、「既にスクロールされてなければ」という条件を入れるべきなんじゃないかなぁ。

たぶんいろんなところで指摘されてて今更なんだろうけど、立て続けにそういうサイトを見て気になったので。

そもそもデフォルトで隠したいのはなんでだろ?
隠れた状態の画面の長さピッタリのコンテンツを作りたい時には有効なのかな??
ホーム画面に登録してなくてもアプリっぽく見せたい???

 Scroll to top