6

Windows Phone 8 の Phonegap を使用してアプリケーションを開発しています。

インターフェイスの設計には jQuery Mobile を使用しました。

は機能し$.mobile.changePage()ていません。ページは変更されていません。

ページを変更する他の方法はありますか?モバイル用のインターフェースを設計するための他のフレームワークはありますか?

$("#btnSearch").bind('click', function() {
    showSpinner();
    $.mobile.changePage("#pageSearch");
});
4

3 に答える 3

2

この問題は、ここで説明されている WP7 と同じだと思います。

パスの問題を確認してください:

if($.mobile.path.getLocation("x-wmapp1:/app/www/index.html") != "x-wmapp1:/app/www/index.html")
{
    console.log('there is path problem');
}
else
{
    console.log('everything is OK with paths');
}

解決:

github で説明されているように、問題は WP7 のパスが他のプラットフォームと異なることです。基本的に WP7 では、getLocation は相対パスをダブル スラッシュで出力するため、最初にこの問題が発生します。修正するには、jquery.mobile-1.3.1.jsを開き、次のようにリファクタリングします。

-        var uri = url ? this.parseUrl( url ) : location,
-          hash = this.parseUrl( url || location.href ).hash;
+        var uri = this.parseUrl( url || location.href ),
+          hash = uri.hash;

と:

-        return uri.protocol + "//" + uri.host + uri.pathname + uri.search + hash;
+        return uri.protocol + uri.doubleSlash + uri.host + uri.pathname + uri.search + hash;

この変更を行った後、「すべてが正常です」と表示されるはずです。

PS これは WP7 でテストされ、$.mobile.changePage() に関する問題が完全に修正されました。

PS2 この問題は jQuery の github バージョンで修正されていますが、最新の安定バージョン ( 1.3.2 ) を確認したところ、残念ながら修正されていません。

よろしく、

フリスト・トドロフ

于 2013-07-24T10:29:44.667 に答える
-1

メソッドの名前が「pagechange」に変更されたと思います

http://jquerymobile.com/blog/2011/09/08/jquery-mobile-beta-3-released/#upgrade

于 2013-06-04T14:03:09.290 に答える