2

私はPhoneGapアプリケーションに取り組んでおり、 jQuery Mobileを使用しています。前回プロジェクトに取り組んでいたときは見栄えが良かったのですが、jQuery Mobile が機能しなくなりました。どうしたの?

これが私のコードです:

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.css" />
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.min.js"></script>
        <script type="text/javascript" src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js"></script>
    </head>

    <body>
        <div id="page" data-role="page" data-theme="b">
            <div data-role="content">
            <h2>Login To Carpool Mobile</h2>
            <p align="right"><a href="registration.html" id="showregistration">Don't have an account? &rarr;</a></p>
                <form method="post" id="loginForm">

                    <label for="password">Email:</label>
                    <input class="required" type="text" name="username" id="username" placeholder="username@target.com">

                    <label for="password">Password:</label>
                    <input class="required" type="password" name="password" id="password" placeholder="password">

                    <input type="button" value="Login" id="submitButton" onClick="handleLogin()">
                </form>
            </div>
        </div>

        <script>
        $(document).ready(function() {
            checkPreAuth();
        });
        </script>
    </body>
</html>
4

4 に答える 4

2

PhoneGap では、ルート ディレクトリの「config.xml」ファイルでアプリの側面を手動で設定/許可する必要があります。

あなたが探している解決策は、次の行だと思います。

<access origin="http://code.jquery.com" subdomains="true" />

「 http://code.jquery.com 」の外部リソースへのアクセスを許可し、そのすべてのサブドメインを許可しています。これは、スクリプト タグからわかるように、目的の jquery mobile のロックを解除したことを意味します。

<script type="text/javascript" src="http://code.jquery.com/jquery-1.5.min.js"></script>
<script type="text/javascript" src="http://code.jquery.com/mobile/1.0a3/jquery.mobile-1.0a3.min.js"></script>

これらの「src」属性は、 http://code.jquery.comの「サブドメイン」として表示されるようになりました。これは正常に許可されました。

于 2013-06-27T20:58:35.460 に答える
1

以下は jQuery Mobile では使用できません

$(document).ready(function() {
    checkPreAuth();
});

カスタム jQuery Mobile 固有のイベントを使用する必要があります。以下のようにコードを変更する必要があるかもしれません。

$('#page').live('pageshow', function(event){
    checkPreAuth();             
});

より関連性の高いイベントについては、ドキュメントを確認してください。

コードから、jQuery と jQuery Mobile の両方の非常に古いライブラリを使用していることがわかります。現在のバージョンよりも多くの機能を使用できる最新のライブラリにアップグレードすることをお勧めします。

jsfiddleの最新のフレームワークを使用した例を次に示します。

于 2013-03-20T03:54:46.077 に答える
-1

を削除し、PhoneGap の deviceready イベント内に$(document).ready(function()保持します。checkPreAuth();

于 2013-03-19T21:11:01.250 に答える