1

Windows Phone 8 と Apache Cordova 3.0 を使用したページ ナビゲーションに問題があります。
この問題を解決するためにさまざまな方法を試しましたが、それでもうまくいきません。

最初は、フォームを使用して別のページに移動しようとしました。

<form action="CreateUser.html" method="get">
        <input class="buttons"  name="btnCreateUser" type="submit" value="Create User" />
</form>

ボタンをクリックしても、ページが見つかりません。CreateUser.html ページは同じディレクトリにあります。ブラウザ (Chrome/IE) を使用すると動作します。

アクションをhttp://www.google.comに変更すると、両方のオプション (ブラウザと電話) が機能します。

また、JavaScript を使用して別のページに移動しようとしました。これが私のコードです:

function get(httpUrl) {
    var xmlHttp = new XMLHttpRequest();
    xmlHttp.open("GET", httpUrl, true);
    xmlHttp.send(null);
    return xmlHttp.responseText;
}

ボタンの onclick="get("CreateUser")" イベントを使用しましたが、反応がありません。ブラウザとモバイル デバイスの両方で。

私にとってうまくいったのは window.location 機能だけです。しかし、その方法では次のページの情報を変換できないようです。

これらの 2 つのページ間を移動して情報を転送する機会はありますか?
それとも、コードに何か問題がありましたか?

4

1 に答える 1

1

「CreateUser.htmlページ」私が正しい場合、AJAXを使用してファイル(ページ)の内容を読み取り、それらをHTMLに貼り付けていますか?

もしそうなら、これを読んでください:

2.1. クロスドメインの問題

AJAX リクエストを作成する前に、次のように設定して、クロスドメイン リクエストとコア サポートを許可する必要があります。

jQuery.support.cors = true;
$.mobile.allowCrossDomainPages = true;

これらは、特定の phonegap 関数「DeviceReady」で設定する必要があります。例:

document.addEventListener('deviceready', function () {
            jQuery.support.cors = true;
            $.mobile.allowCrossDomainPages = true;
            $.ajax({
                url: "www/about.txt",
                dataType: 'text'
            }).done(function (result) {
                    alert(result);
                });
            });

2.2. URL

Windows Phone 8 指向のアプリケーションを作成するには、AJAX 要求でリソースへのフル パスを指定する必要があります。例: url: "www/about.txt",

Windows Phone 8 指向のアプリケーションを作成する場合、AJAX 要求でリソースへのフル パスを指定してはなりません。例: url: "about.txt",

2.3. ソースファイルの拡張子

テンプレート拡張子 *.tpl などの不明な拡張子ファイルの使用には注意してください。AJAX が気に入らない場合もあります。単純な *.txt および *.html 拡張子を使用することをお勧めします。

于 2013-08-02T13:23:39.400 に答える