如果禁用Cookies,iOS7将无法访问HTML5 localStorage

时间:2013-09-21 11:41:45

标签: ios html5 cookies local-storage ios7

在iOS7上,在尝试通过JavaScript访问HTML5 localStorage对象时,停止执行Javascript。它在以前的iOS版本中可以正常工作。 当应用程序刚刚安装并启动时,该应用程序可以完美运行。但是,然后,我关闭应用程序并再次启动,它无法正常工作,无法访问localStorage。

要禁用Cookie,我使用了以下代码:

[[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyNever];

要访问localStorage,我使用了以下代码:

CGRect rect = self.view.frame;
UIWebView* webView = [[UIWebView alloc] initWithFrame:rect];
[self.view addSubview:webView];
[webView loadHTMLString:@"<script>alert('hello world');alert(localStorage);</script>" baseURL:nil]

我已浏览过iOS7文档,但找不到与此问题相关的任何更新。有没有人面对这个?请分享有关此的任何信息,将非常有帮助。有没有解决方法呢?

由于

3 个答案:

答案 0 :(得分:1)

当然这是一篇较老的帖子,但是fwiw ......

不确定我是否遇到过这个问题。在使用iOS6 / 7的几个项目中使用带有和不带cookie的localStorage。

提供的loadHTMLString对我来说有点特别......所以我尝试了这个......

    [webView stringByEvaluatingJavaScriptFromString:@"alert('hello world');alert(localStorage);"];

...工作正常,并按预期显示localStorage对象,禁用cookie。

在sim7和设备上测试,iOS7。

答案 1 :(得分:0)

不确定这是否会有所帮助,但您可以在此处浏览博客 - http://transitionalreality.blogspot.in/2014/03/html-5-local-storage-with-ios-app.html

我已经以自己的方式实现了HTML5本地存储,这可能正是您所寻找的。

答案 2 :(得分:-1)

尝试:

window.localStorage

e.g:

[webView loadHTMLString:@"<script>alert('hello world');alert(window.localStorage);</script>" baseURL:nil];