この問題は、ここで説明されている 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 ) を確認したところ、残念ながら修正されていません。
よろしく、
フリスト・トドロフ