2009-06-26 9 views
15

人のiPhoneに読み込む予定のWebページがあります。ページが読み込まれると、最上部にあるステータスバーとアドレスバーを非表示にします。私は他のサイトがこれを行うのを見ました。これを実現するための試みで、私は私のWebページのセクションに次のコードを配置している:iPhone - ページの読み込み時にアドレスバーを非表示にする

<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=yes;" /> 
<script type="text/javascript"> 
    function page_Load() { 
    setTimeout(function() { window.scrollTo(0, 1); }, 100); 
    } 
</script> 

「をPage_Load」機能は、ページのbody要素のonloadのイベントを通じてトリガされます。奇妙なことに、ページが読み込まれると、ステータスバー/タイトルバーは非表示になりますが、アドレスバーには表示されません。

ウェブページが読み込まれたときにステータスバーとアドレスバーの両方を非表示にするにはどうすればよいですか?

ありがとうございました!

+0

「initial-scale = 1.0; maximum-scale = 1.0; user-scalable = yes;」のヒントをありがとう。私は "初期スケール= 1.0;ユーザスケーラブル=ノー;"を試しました。これは、垂直/水平モード間で変更するときに有線の効果がありました。 – gregers

答えて

4

説明しました。私のページは「もっと長く」必要なことが判明しました。絶対的な見通しから、サイジングは正しかったが、私は底部に2つのピクセルを追加する必要がある。これにより、必要に応じてアドレスバーが隠されます。

ありがとうございます。 jQueryのを使用してあなたのそれらのために

+0

こんにちは村人 - 私はあなたと同じ問題を抱えていると思います。 – citizenen

10

ここでも簡単なバージョンです:

$('body').scrollTop(1); 
+0

これは私にとって初めての、iPhoneとAndroidで非常にきちんと働いていますが、私は既に高さの問題に対処するコードを用意していたと思います。ありがとう! – iamkeir

0

迅速かつ汚いjQueryの方法...

$(function() { 
    function orientationChange(e) { 
     $("body").scrollTop(1); 
    } 
    $("body").css({ height: "+=300" }).scrollTop(1); 
    $(window).bind("orientationchange", orientationChange); 
}); 

これはまた、人は自分の向きを変えるバーを非表示にします(なぜなら、それは再び正常に見えるようになるからです)。あなたのページのどこかにこれを追加すれば、それは100%の高さ/幅/何に関係なく自動的に求められます。私はアドレスバーの正確な高さを測定していませんが、それは約70pxのようです。私はそれを確実に働かせるためにそこに300を置く。

関連する問題