0

我正在构建一个移动网络应用程序,我遇到了一个非常非常奇怪的问题。

我的应用程序的核心看起来像一个合适的 iPhone 应用程序,带有标签栏。在我的一个屏幕上,如果单击选项卡栏链接,则在重定向之前,我们必须向服务器发出 POST 请求,然后在成功时执行重定向。

在桌面浏览器中,这完全符合预期。

在 Mobile Safari 中,它根本不起作用。POST 请求发生,但重定向没有。我已经尝试了许多不同的重定向技术,但都没有产生任何影响。

我正在使用 jQuery Mobile,但是因为我需要重定向到一个完全不同的页面,没有过渡也没有 AJAX,所以我使用 window.location.href 进行重定向。

有谁知道为什么会发生这种情况?如有必要,很高兴提供更多详细信息,我已经为此苦苦挣扎了 2 天。

4

1 回答 1

0

好的,所以这里的问题是在桌面浏览器中运行我的应用程序和在 Mobile Safari 中运行它之间的行为变化。

在桌面上,jQuery Mobile 基本上只提供样式和过渡。

在 Mobile Safari 中,它正在重写我页面上的所有 URL。由于直接在手机或模拟器中调试网站非常困难(我知道调试控制台,但它的帮助很小),我花了很长时间才看到这一点。

我通过向我的每个链接添加一个 data-url 属性来解决这个问题 - 这不是由 jQuery Mobile 重写的,因此我能够使用它来将用户带到他们应该从一开始就去的地方。

我找不到任何关于 jQuery Mobile 正在执行此 URL 重写这一事实的参考,但也许我在他们的文档中遗漏了一些东西。

于 2012-05-22T06:29:26.900 回答