1

こんにちは、phonegap アプリケーションを開発しています。index.html ファイルで console.log を使用すると印刷されますが、別のファイルで使用すると印刷されません。次のような index.html ファイルにファイルをインポートするとします。

<!DOCTYPE html>

<html>

<head>  

    <link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.1.0.css" />
    <link rel="stylesheet" href="docs/assets/css/jqm-docs.css" />
    <link rel="stylesheet" href="docsdemos-style-override.css" />


    <script type="text/javascript" charset="utf-8" src="cordova-1.6.1.js"></script>             
    <script type="text/javascript" src="jquery.mobile/jquery-1.7.2.min"></script>       
    <script type="text/javascript" src="jquery.mobile/jqm.autoComplete-1.4.js"></script>    
    <script type="text/javascript" src="jquery.mobile/jquery.mobile-1.1.0.js"></script>

    <script type="text/javascript">

        console.log("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
    </script>

</head>

<body>

<div data-role="page" id="home" data-add-back-btn="true">
    <div data-role="content" >

        <a href="UI/Equity/test.html" data-role="button" id="myButton">index</a>            

    </div>
</div>



</body>
</html>

次に、ボタンと印刷でページを表示します!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!. しかし、ボタンをクリックすると、次のような test.html ファイルが表示されます。

<!DOCTYPE html>

<html>

<head>  

    <link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.1.0.css" />
    <link rel="stylesheet" href="docs/assets/css/jqm-docs.css" />
    <link rel="stylesheet" href="docsdemos-style-override.css" />


    <script type="text/javascript" charset="utf-8" src="cordova-1.6.1.js"></script>             
    <script type="text/javascript" src="jquery.mobile/jquery-1.7.2.min"></script>       
    <script type="text/javascript" src="jquery.mobile/jqm.autoComplete-1.4.js"></script>    
    <script type="text/javascript" src="jquery.mobile/jquery.mobile-1.1.0.js"></script>

    <script type="text/javascript">

        console.log("@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
    </script>

</head>

<body>

<div data-role="page" id="home" data-add-back-btn="true">
    <div data-role="content" >

        <a href="#" data-role="button" id="myButton">Test</a>           

    </div>
</div>



</body>
</html>

しかし、ここでは印刷されません @@@@@@@@@@@@@@@@@@@@@@@@@ なぜそうなのですか?

4

2 に答える 2

3

さまざまなHTMLファイルにjQuerymobileの「ページ」がある場合、フレームワークはdata-role = "page"要素のコンテンツを取得し、それを現在のページのDOMに挿入します。

そのdata-role="page"要素にないものは完全に無視されます。つまり、最初にヒットしたページの先頭にあるスクリプト(この場合はindex.html)のみが実際にダウンロードされて実行されるため、すべてのページの先頭にあるすべてのスクリプトを参照する必要があります。

ここでPageCreateイベントを確認してください

また

もう1つのオプションは、ページを強制的に更新して2ページのスクリプトを実行することです。これは、次のように設定することで実行できます。

<div data-role="page" id="home" data-add-back-btn="true">
    <div data-role="content" >

        <a href="UI/Equity/test.html" data-ajax="false" data-role="button" id="myButton">index</a>            

    </div>
</div>

データを追加-ajax="false"

于 2012-07-07T07:09:08.797 に答える
1

JavaScript ファイルをインポートするための相対パスを指定する必要があります。それをimpoに変更する必要があるかもしれません

index.html から Test.html のディレクトリ パスが次のようなものであるとします。

index.html
UI\Equity\Test.html 

<script type="text/javascript" charset="utf-8" src="../../cordova-1.6.1.js"></script>             
<script type="text/javascript" src="../../jquery.mobile/jquery-1.7.2.min"></script>       
<script type="text/javascript" src="../../jquery.mobile/jqm.autoComplete-1.4.js"></script>    
<script type="text/javascript" src="../../jquery.mobile/jquery.mobile-1.1.0.js"></script>
于 2012-07-07T06:59:07.380 に答える