各セクションに 100vh を使用する Web サイトを構築しています。ただし、モバイル ブラウザーでは、アドレス バーの非表示/表示に伴ってビューポートの高さが増減するため (Chrome など)、UI の不具合につながります。スクロール時にアドレスバーが自動的に非表示になるのを防ぐ方法はありますか?
Freelancer Web サイトには、これを修正する実装があります。誰かがこれがどのように行われるか説明できますか? https://m.freelancer.com
各セクションに 100vh を使用する Web サイトを構築しています。ただし、モバイル ブラウザーでは、アドレス バーの非表示/表示に伴ってビューポートの高さが増減するため (Chrome など)、UI の不具合につながります。スクロール時にアドレスバーが自動的に非表示になるのを防ぐ方法はありますか?
Freelancer Web サイトには、これを修正する実装があります。誰かがこれがどのように行われるか説明できますか? https://m.freelancer.com
スクロール時にアドレスバーが自動的に非表示になるのを防ぐ方法はありますか?
残念ながら、HTML やコードからアドレス バーを固定する方法はありません(少なくとも私は知っています)。
「フェイク」フルスクリーンモード:
代わりに、ページの読み込み時にアドレスバーを強制的に非表示にして、フルスクリーンのエクスペリエンスを向上させることを検討できます。
明らかに、これは最初にページをロードして下にスクロールしたときにのみ適用されます。もう一度上に戻ると、アドレスバーが表示されます。
モバイル向けに設計されたサイトのほとんどでは、ユーザーが何度も下にスクロールしてから別のページに移動する必要があることがよくあります。
方法は次のとおりです。
簡単なスクリプトを作成し、「フルスクリーン」にしたいページで使用します。または、サイトの残りの部分で使用するテンプレート ページがある場合は、そのスクリプトを使用します。
以下を使用できます。
<script type="text/javascript">
window.onLoad = function() {
window.scrollTo(0,1);
}
</script>
または、jQuery を使用している場合:
<script type="text/javascript">
$(function() {
$(window).scrollTo(0,1);
}
</script>
これにより、ブラウザーは、ページが読み込まれたときに既にスクロールしたと見なされ、アドレス バーが自動的に非表示になります。これは、特定のブラウザでは機能する場合と機能しない場合があります。
繰り返しますが、これは「スクロール時にアドレスバーが自動的に非表示になるのを防ぐ」ことに対する直接的な回答ではありませんが、これにより、最初にページにアクセスしたときのユーザー エクスペリエンスが向上する可能性があります。
http://www.html5rocks.com/en/mobile/fullscreen/を参考にしました - 見たところ、他にもたくさんのアイデアがあります。
お役に立てれば!:)
アップデート:
私はこの件についてさらに掘り下げましたが、ブラウザを強制的に「フルスクリーン」にしたり、「上」にスクロールしたときにアドレスバーが再表示されないようにする方法が他にもあるようです。 .
いくつかの(たくさんの)提案については、http ://www.creativebloq.com/html5/12-html5-tricks-mobile-81412803 を参照してください。