2012-04-11 55 views
0

使用JQuery Mobile和MVC3在iPad上,ASP.NET創建了一個主屏幕書籤。 該應用沒有問題,但沒有顯示safari的酒吧。 我登錄到我的應用程序,然後單擊鏈接,鏈接打開SAFARI,不打算Jquery Mobile MVC3 iPad Web App鏈接

我的問題是如何防止點擊鏈接打開我書籤的應用程序之外? 我已經試過:

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

上面的代碼似乎應該基於從jQuery Mobile的的文檔工作。 當我點擊鏈接/按鈕時,鏈接/按鈕突出顯示,但沒有錯誤或頁面加載。

此外,另一個問題是爲什麼當我離開應用程序並回來會話死亡?

回答

0

iOS會將您規定data-ajax =「false」的鏈接視爲應該由Safari打開的鏈接。我在使用jQueryMobile的MVC網站中遇到了同樣的問題。我發現this post非常有幫助,下面的代碼在我的應用程序中工作得很好。

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

您要鏈接到此應用程序打包的網頁嗎?你需要這樣做。該應用無法找到它,並出去瀏覽器。

代碼本身很好。 http://jsfiddle.net/m35BU/5/

會話變量存儲在服務器上...你是在談論一個javascript cookie?

如果是這樣,除非您爲cookie設置過期日期(mktime()+ 3600 * 7 7天)或其他),它將在應用程序關閉時過期。

+0

謝謝,我知道會話存儲在服務器上。從來沒有一個cookie存儲在客戶端的asp.net。我很確定所有的頁面都是內部的和打包的。 – 2012-04-11 20:13:05

+0

如果鏈接中有rel =「external」,則可能會打開瀏覽器。 – Cymbals 2012-04-11 20:52:43

+0

他們不!我完全按照這本書。如果我得到一個工作示例,我會將它發佈到git。 – 2012-04-11 21:00:10