0

使用 JQuery Mobile 和 MVC3 ASP.NET,在 iPad 上创建了一个主屏幕书签。该应用程序启动没有问题,它不显示 safari 的酒吧。我登录到我的应用程序并单击一个链接,链接 OPENS SAFARI,NOT INTENDED

我的问题是如何防止点击的链接在我的书签应用程序之外打开?我试过了:

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

上面的代码似乎应该基于 jquery mobile 的文档工作。当我单击链接/按钮时,链接/按钮会突出显示,但没有错误或页面加载。

另外,另一个问题是为什么当我离开应用程序并回来时会话消失了?

4

2 回答 2

0

iOS 会将您规定 data-ajax="false" 的链接视为应由 Safari 打开的链接。我在使用 jQueryMobile 的 MVC 站点中遇到了同样的问题。我发现这篇文章很有帮助,以下代码在我的应用程序中运行良好。

$("a[data-ajax='false']").live("click", function (event) {
    if (this.href) {
        event.preventDefault();
        location.href = this.href;
        return false;
    }
});
于 2012-08-15T05:30:59.840 回答
0

您链接到的这个网页是否与应用程序一起打包?你需要这样做。该应用程序找不到它并转到浏览器。

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

会话变量存储在服务器上...您是在谈论 javascript cookie 吗?

如果是这样,除非您为 cookie 设置过期日期(mktime()+3600*7 7 天)或其他任何内容,否则它将在应用程序关闭时过期。

于 2012-04-11T18:32:49.957 回答