我有一个iphone(基于jqtouch)的网络应用程序,它使用cookie进行身份验证。使用流程如下:
用户进入移动登录页面,并被指示将页面保存为主页上的书签。
他们启动书签,转到登录页面登录并获取cookie。
Cookie有效,可以在整个网站上导航。
但是,此会话cookie不是持久性的。如果他们离开safari然后使用保存的bookmarklet重新启动,那么在上一个会话期间设置的cookie就会消失。
只是使用safari(即:直接启动safari而不是通过书签)导航页面工作正常(即:启动safari,转到url,登录,重新启动safari,返回url)。 / p>
我发现创建bookmarklet时处于活动状态的cookie是持久性的,但是当通过bookmarklet访问safari时在会话期间设置的任何cookie都不会持久。
我想知道这是否是一个safari / iphone问题和/或是否有任何解决方法。非常感谢您提供的任何见解。
答案 0 :(得分:2)
K,对于遇到同样问题的人,我通过使用html5的localstorage找到了解决方法。我只需要在设置cookie时使用javascript根据cookie值设置存储,并在加载第一页时从存储值设置cookie。
答案 1 :(得分:0)
我在我的一个应用程序中试过了。我用这种方式试过这个:
我知道这听起来很难,但实际上很容易。所有你必须经历的是Apple关于NSHTTPCookie的文档。