使用JQuery Mobile和MVC3 ASP.NET,在iPad上创建了一个主屏幕书签。 应用程序没有问题,它没有显示safari的栏。 我登录到我的应用并点击了一个链接, LINK OPENS SAFARI,无意内 。
我的问题是如何防止点击的链接在我的书签应用之外打开? 我试过了:
$(document).bind("pageinit", function () {
$("a").click(function (e) {
e.preventDefault();
$.mobile.changePage($(this).attr('href'));
});
});
上面的代码似乎应该基于jquery mobile的文档工作。 当我单击链接/按钮时,链接/按钮突出显示但没有错误或页面加载。
另外,另一个问题是为什么当我离开应用程序并返回会话时会死?
答案 0 :(得分:0)
您链接的此网页是否与应用程序打包在一起?你需要这样做。该应用无法找到它并转到浏览器。
代码本身很好。 http://jsfiddle.net/m35BU/5/
会话变量存储在服务器上......你在谈论一个javascript cookie吗?
如果是这样,除非您为cookie设置了过期日期(mktime()+ 3600 * 7,为期7天),否则它将在应用程序关闭时到期。
答案 1 :(得分: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;
}
});