2012-04-11 4 views
0

JQuery MobileとMVC3 ASP.NETでは、iPad上で、ホームスクリーンのブックマークを作成しました。 アプリは問題なく引き上げられ、サファリのバーは表示されません。 私のアプリにログインして、リンクをクリックしてください。リンクオープンサファリ、意図していませんJQuery Mobile MVC3 iPad Web Appリンク

私のお気に入りの質問は、クリックしたリンクがブックマークされたアプリの外に開くのを防ぐ方法です。 は、私が試してみた:

$(document).bind("pageinit", function() { 
    $("a").click(function (e) { 
     e.preventDefault(); 
     $.mobile.changePage($(this).attr('href')); 
    }); 
}); 

それはjQueryのモバイルからのドキュメントに基づいて動作するはずのように上記のコードは思われます。 リンク/ボタンをクリックすると、リンクまたはボタンは強調表示されますが、エラーまたはページの読み込みは行われません。

また、別の問題は、私がアプリケーションを終了し、セッションが終了したときになぜですか?

答えて

0

iOSは、指定したリンクをSafariで開くべきリンクとして扱います。-ajax = "false"は、リンクとして扱います。 MVCサイトでjQueryMobileを使用しているのと同じ問題がありました。私はthis postが非常に役に立ち、次のコードは私のアプリケーションで非常にうまく機能することがわかりました。

$("a[data-ajax='false']").live("click", function (event) { 
    if (this.href) { 
     event.preventDefault(); 
     location.href = this.href; 
     return false; 
    } 
}); 
0

リンク先のこのWebページはアプリにパッケージされていますか?あなたはそうする必要があります。アプリはそれを見つけることができず、ブラウザに出ます。

コード自体は問題ありません。 http://jsfiddle.net/m35BU/5/

セッション変数はサーバーに保存されています...あなたはJavaScriptのクッキーについて話していますか?

もしそうなら、クッキーの有効期限(mktime()+ 3600 * 7、7日間)などを設定しない限り、アプリが終了すると期限切れになります。

+0

ありがとう、私はセッションがサーバーに格納されていることを知っています。決してasp.netのクライアントに保存されるクッキーは少なくありません。私はすべてのページが内部でパッケージ化されていることを確信しています。 –

+0

リンクにrel = "external"というリンクがある場合、ブラウザが開かれることがあります。 – Cymbals

+0

彼らはしません!私はその本に完全に行きます。もし私が実践的な例を得たら、私はそれをgitに投稿します。 –

関連する問題