2

嘿,我使用 HTML5,jquerymobile 开发了一个商业应用程序,它目前正在运行/生产中,并且由于 IOS6 分离了共享本地存储 (HTML5),我不能再像以前那样将数据从 Safari 传输到主屏幕。

我曾经在 Safari 中设置 localStorage,然后主屏幕应用程序会选择它,这在 IOS6 中不起作用。

如何在不创建全新功能/流程的情况下使其在 IOS6 中工作?我在想我的选择是:

  1. 维护查询字符串中的值,以便当用户加载应用程序时,该值在查询字符串中,然后我可以从该值将其设置为 localStorage,当应用程序第一次以 App 模式加载时。

  2. 将值存储在缓存清单中(尽管它需要动态设置,作为用户身份验证令牌,特定于每个用户,所以不知道是否有可能在那里有动态数据?)。并且不知道缓存清单是否由 Safari 和 app-mode 共享?

任何帮助将不胜感激,这显然非常严重,因为我们 50% 的用户无法再使用我们的应用程序。

谢谢!

4

1 回答 1

0

所以我解决了这个问题并部署到生活中并且一切正常。这远非一个优雅的解决方案,但对于围绕此功能构建应用程序的用户而言,您无能为力。我只是在每个页面请求的查询字符串上携带变量(我想传递给 App-Mode)。然后,当用户添加到主屏幕时,会加载相同的 URL,您可以通过这种方式检索变量。

使用 jquery mobile 相当容易,只需为您以编程方式执行的所有$.changepage操作提供一个通用函数并将其插入,然后有一个通用函数在所有页面的 pageshow 事件上执行,并将其作为后缀添加到所有链接。

于 2012-10-16T22:13:22.640 回答