2012-04-11 63 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

相关问题