Facebook 使用JQuery Mobile(和ASP.NET MVC3)的空白重定向页面

Facebook 使用JQuery Mobile(和ASP.NET MVC3)的空白重定向页面,facebook,asp.net-mvc-3,jquery-mobile,Facebook,Asp.net Mvc 3,Jquery Mobile,只有Chrome+Firefox出现了一个奇怪的问题。它不会在IOS或IE9上重新编程 这是报告: 加载主页http://example.com 登录(通过rel=“external”超链接)。在我的例子中,我使用Facebook的Oauth服务器端流——所以这个URL是一个Facebook.com Facebook接受用户的凭据,然后重定向到http://example.com/user/callback。这里处理各种facebook数据(在查询字符串中提供) 服务器端代码位于http://e

只有Chrome+Firefox出现了一个奇怪的问题。它不会在IOS或IE9上重新编程

这是报告:

  • 加载主页
    http://example.com
  • 登录(通过rel=“external”超链接)。在我的例子中,我使用Facebook的Oauth服务器端流——所以这个URL是一个Facebook.com
  • Facebook接受用户的凭据,然后重定向到
    http://example.com/user/callback
    。这里处理各种facebook数据(在查询字符串中提供)
  • 服务器端代码位于
    http://example.com/user/callback
    然后将用户重定向到
    http://example.com
    。用于重定向的机制是ASP.NET MVC3中的
    重定向操作。这将返回一个302
  • 预期结果: 用户将在浏览器中看到URL=
    http://example.com
    和内容都显示得很好。这适用于IE和Safari

    操作结果(仅在Chrome上) 用户在浏览器中获取URL=
    http://example.com/#base_domain=example.com
    实际页面为空白(无可见内容) 然而,一个视图源显示内容是存在的

    操作结果(仅在Firefox上) 用户在浏览器中获取URL=
    http://example.com/#_=_
    实际页面为空白(无可见内容) 然而,一个视图源显示内容是存在的

    附加信息 如果我输入URL
    http://example.com/#base_domain=example.com
    在IE中,我得到了相同的“隐藏”内容(即仍然存在HTML源代码的空白页面)

    我还应该注意,我在应用程序的其他部分使用了RedirectToAction/302重定向技术,没有任何问题

    当AJAX导航关闭时,问题也会重新出现

    编辑:这也适用于Safari(OSX+Windows),没有问题。它只在Windows和PC上的Chrome+Firefox上出现了明显的故障

    IOS/Safari:好的 Win/Safari:好的 Win/IE:好的 Windows Phone仿真器:确定

    Win/Firefox:borked 博克

    OSX/Safari:好的 OSX/Firefox:borked OSX/铬:博克


    对Android不太清楚。

    最好的解决方案似乎是设置推送状态并对false进行哈希监听-因此chrome/ff完全忽略它们。我已经禁用了AJAX导航(在服务器端代码中,我还没有完全解释它的一些有趣行为)


    在尝试使用AJAX导航之前,我可能会等待1.1并稳定我的其余代码。

    IOS指的是mobile Safari吗?是的,没错,是mobile Safari。然而,我只是在SafariforWindows上做了一个复制,工作正常(与IE和IOS相同)。
        $.mobile.pushStateEnabled = false;
        $.mobile.hashListeningEnabled = false;