2

チャート (jquery チャート) を Web に表示する際に問題があります。

2 つのページ (1.html と 2.html) があります。最初のページには、2 番目のページにリンクするリストビューが含まれています。2.html はグラフを表示します。問題は次のとおりです。ページ 1 からページ 2 を起動すると、グラフが表示されません!! しかし、ページ 2 をリロードすると、グラフが表示されます。

「href=#page」参照を使用して唯一のページで作業すると、グラフは正常に機能し、表示されますが、私の意図は、リストビューを含む別の html ファイルとグラフを含む別の html ファイルを用意することです。出来ますか?

多くの種類の jquery チャートをテストしましたが、それらはすべて同じ動作をしました。

何か案が?

よろしくお願いします。

ここにファイルがあります:

1.html ----

<head>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
</head>
<body>
    <div data-demo-html="true">
        <ul data-role="listview" data-inset="true">
            <li><a href="2.html">Chart</a></li>
        </ul>
    </div>
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js">/script>
</body>

2.htmlにコードを参照 ( jqwidgets - chart_bar )

4

1 に答える 1

1

この状況を理解するには、jQuery Mobile がどのように機能するかを理解する必要があります。ajax を使用して他のページをロードします。

最初のページは正常に読み込まれます。その HEAD と BODY は DOM にロードされ、他のコンテンツを待機します。2 番目のページが読み込まれると、その BODY コンテンツのみが DOM に読み込まれます。

最も現実的な解決策は、すべての JavaScript を元の最初の HTML に移動することです。すべてを収集し、単一の js ファイル内の HEAD に配置します。jQuery Mobile が読み込まれた後に初期化します。また、同じ index.js ファイルを使用して、他のすべての可能なページの HEAD 内で初期化します。

今、あなたはなぜ私に尋ねることができますか?

jQuery Mobile のような Phonegap はバグが多く、すべての js コンテンツが 1 つの HTML ファイル内にある場合、遅かれ早かれエラーが発生し、アプリが失敗します (読み込まれた DOM を含む)。DOM が消去される可能性があり、Phonegap によって現在のページが更新されます。そのページに JavaScript がない場合、再起動するまで機能しません。

ここでの回答に、この問題を解決する他の方法 (例を含む) をリストしました: Why I have to put all the script to index.html in jquery mobile .

于 2013-05-21T10:39:15.700 に答える