0

私の問題は、JQuery Mobile と組み合わせた内部の Android ブラウザーに表示されます。現在のページをリロードすると、テキストがリストビューに収まるようにコンテンツが縮小されます。

詳細: このコードは、iPhone、モバイル デスクトップ ツール、および Android の Firefox で正常に動作します。ただし、内部の Android ブラウザーでは、下のコードにこの奇妙な問題があります。以下の編集を参照してください。

これまでに試したこと: ビューポート メタ タグでいろいろ試しました。とにかく、私のアプリの他のすべてのサイトでコンテンツが正しく表示されるため、それは問題ではないと思います。

<meta name='viewport' content='width=device-width,initial-scale=1,maximum-scale=1'>

$('meta[name=viewport]').attr('content','width='+$(window).width()+',user-scalable=no');

これらの投稿が示唆するように:

私のコード:

<html>
    <head>
        <meta name="viewport" content="width=650">
        <!-- CSS and Scripts-->
    </head>
    <body>
        <!-- Page Wrapper -->
        <div data-role="page">

            <section data-role="content">
                <h2>
                   Code Sample
                </h2>

                <div class="ui-grid-solo">
                    <p style="margin-bottom: 38px;">
                        <a href="?id=a" data-ajax="false">A</a>
                        <a href="?id=b" data-ajax="false">B</a>
                        <a href="?id=c" data-ajax="false">C</a>
                    </p>


                </div>

                <!-- Dynamic content-->
                <ul data-role="listview" data-inset="false">
                    <!-- Use ?id to grab and display data (CodeBehind.vb)-->
                </ul>            

            </section>   

        </div>                 
    </body>
</html>

誰かがアイデアを持っていますか、または同様の問題と戦っていますか?

編集: 私は何かに取り組んでいます。問題はこの平和なコードで発生するようです:

<!-- Dynamic content-->
<ul data-role="listview" data-inset="false">
    <!-- Use ?id to grab and display data (CodeBehind.vb)-->
</ul> 

通常、listView は、画面に収まるように、最後に「ドット ドット ドット」が付いた大きなテキスト アイテムに置き換えます。私の場合、それはまだ行われていますが、短縮が行われる前に、テキストには多くの文字が含まれています。その結果、すべてが縮小されます。これをどのように解決すればよいですか?

4

1 に答える 1

0

これについて回答が得られなかったので、修正を投稿します。

モバイル サファリ ブラウザでのみ listView 項目が短縮されないようです。今、pageinitで手動でそれを行う関数を呼び出しています:

    fixListView: function () {
        var brokenAgent = "Safari";
        var currentUserAgent = navigator.userAgent;
        if (currentUserAgent.indexOf(brokenAgent) != -1) {
            var listItemList = $('.long-text');
            for (var i = 0; i < listItemList.length; i++) {
                var text = listItemList[i].innerText;
                if (text.length > 40) {
                    var newText = text.substr(0, 40);
                    listItemList[i].innerText = newText + "...";
                }
            }
        }
    }

私の修正にはまだ満足していません。改善のためのアイデアは大歓迎です!

于 2013-01-08T14:47:42.037 に答える