9

作成中のページのストック Android ブラウザーに問題があります。簡単に言えば、最初にズームインしないと、ページは垂直方向にスクロールしません。タグがブラウザウィンドウよりも小さい高さを報告しているのを見つけたとき、それを理解したと思いましたが、それを修正してもスクロールの問題は解決しませんでした. (インデックス ページの黒いボックスは、要素の計算された高さを報告します。)

私のテスト デバイスは、Android 2.3 を実行する Droid Incredible です。スクロールは、Android 版 Firefox だけでなく、私の Android 4.0 タブレットやすべての iOS デバイスでも機能します。

サイトの私の開発ビルドはここにあります: www.adamjdesigns.info/csu/engage

編集 - 私が試した他のコード:

  1. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
  2. if(navigator.userAgent.match(/Android 2/) && $(window).height() < 600) { $('html').css({'height':$(window).height(),'overflow':'auto'}); }

どんな助けでも大歓迎です!

4

5 に答える 5

9

これはハックですが、開発者に役立つかもしれない別の修正があります。標準の Android 2.3.4 ブラウザでは、最初のページ読み込みサイズを「1」からわずかに大きくすると、最初にズームをピンチしなくても垂直スクロールが機能することがわかりました。例えば:

<meta name="viewport" content="width=device-width, initial-scale=1.02" />
于 2013-01-21T23:15:52.757 に答える
3

FWIW、Android 2.3でWebページがスクロールしないという同様の問題がありました。問題を修正するために、いくつかの条件付きJavascriptを使用してGatsbyの回答を使用しました。これが私の最終的なコードです:

<meta name="viewport" content="width=device-width, initial-scale=1.00"/>
<script type="text/javascript">
    window.onload=function(){
        var ua = navigator.userAgent;
        if(ua.indexOf("Android")>=0){
            var androidversion=parseFloat(ua.slice(ua.indexOf("Android")+8)); 
            if(androidversion<=2.3){
                document.getElementsByName("viewport")[0].setAttribute("content","width=device-width, initial-scale=1.02");
            }
        }
    };
</script>

このソリューションは、最初にほとんどのデバイスでうまく機能する通常のメタ ビューポート タグを設定し、次に条件付き JavaScript を使用して Android のバージョンを検出し、メタ タグの内容を Android でのスクロールを可能にする「ハッキングされた」値 (Gatsby によって提供される) に変更します <= 2.3. これにより、ハックを必要としないデバイスの不要な水平スクロールが防止されます。

于 2013-09-25T12:53:49.323 に答える
3

私はそれを考え出した!ページに YouTube ビデオ用のがありました。その中でビデオを再生するのがそれ自体なのか、関連するスクリプトなiframeのかはわかりませんが、それを DOM から削除することで問題が解決しました。iframe(とにかく、モバイル画面では非表示に設定しました。)

助けてくれてありがとう、みんな!

于 2012-06-13T21:47:14.577 に答える
2

問題であることがわかったのは、overflow-x: hidden; を追加したことです。私の体のタグに。これにより、水平スクロール バーがオフになるはずですが、代わりに Android では垂直スクロール バーがオフになります。Android では、横方向にしかスクロールできません。おそらくAndroidブラウザのバグです。古い Android フォン (HTC Thunderbolt) を使用しています。css ファイルを調べて、overflow-x:hidden をすべて削除したところ、再び垂直方向にスクロールできるようになりました。

于 2013-07-11T03:02:56.523 に答える
1

ビューポートでこれを試してください:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
于 2012-06-12T19:01:49.407 に答える