2012-03-14 9 views
3

モバイルデバイスのビューポートを100%占めるようにしたい。最初は高さと幅を100%に設定しました。モバイルCSSの高さ100%+ブラウザのクローム?

は、しかし、今私は、次のJavaScriptでブラウザクロムを隠しています:

setTimeout(function() { 
window.scrollTo(0, 1) }, 
100); 

結果は、高さがマイナスブラウザクロームの高さが100%であるということです。また、javascriptは、クロムが隠されているページをスクロールダウンするだけで動作し、ページがdiv imより大きい場合にのみ発生します。

どうすればこの問題を回避できますか?デバイス検出を使用し、ブラウザクロームの高さ値をピクセル単位でデバイス単位で追加する唯一の方法はありますか?可能ならこれを避けるのが好きです。ありがとう

答えて

5

私が間違っていない場合、あなたの問題は主にSafari iPhoneに関連しています。

最も簡単な解決策は、設定された間隔ごとにページの高さの変更をチェックし、それに従ってコンテナの高さを変更することです。

このソリューションでは、向きの変更も考慮しています。 私は、それがorientationChangeとscrollイベントに関数を簡単にバインドするのを簡単に最適化できたと確信しています。

+0

はい私はまだAndroidでテストをしていないので、現時点ではiPhoneに集中しています。あなたのソリューションは、トップのブラウザのChromeのみが隠されているという事実を考慮していますか?バックとフォワードボタンなどが付いたボトムクロムを隠すことはできません。ありがとう – Evans

+0

アドレスバーと最終的には開発者のバーを考慮します。サイトをホームスクリーンアプリとして保存すると、下のナビゲーションバーが表示されなくなり、その場合でも機能します。 – Davide

+0

開発者バーは何ですか?ユーザーがメタタグを使用してホーム画面にサイトを保存すると、すべてのブラウザのChromeを非表示にすることは可能ですが、ユーザーがこれを行うとは思われません。 – Evans

関連する問題