【问题标题】:Jquery Mobile MVC3 iPad Web App LinkingJquery Mobile MVC3 iPad Web App 链接
【发布时间】:2012-04-11 16:52:21
【问题描述】:

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

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

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

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

另外,另一个问题是为什么当我离开应用程序并返回会话时会死掉?

【问题讨论】:

    标签: asp.net-mvc-3 ipad jquery-mobile mobile-safari


    【解决方案1】:

    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;
        }
    });
    

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

      • 谢谢,我知道会话存储在服务器上。对于 asp.net,在客户端上存储的 cookie 越少越好。我很确定所有页面都是内部和打包的。
      • 如果链接中有rel="external",它可能会打开一个浏览器。
      • 他们没有!我完全按照书本行事。如果我得到一个工作示例,我会将其发布到 git。
      • 如果是安卓系统,请为我发布一个 .apk 或 Dropbox。
      • 我的问题与 Android 无关,不过,我还没有测试过 Android。
      猜你喜欢
      • 2011-11-26
      • 1970-01-01
      • 2018-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多