13

在 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 文档,但找不到与此问题相关的任何更新。有没有人也遇到过这种情况?请分享有关此的任何信息,将非常有帮助。有什么解决方法吗?

谢谢

4

3 回答 3

1

当然,这是一个较旧的帖子,但fwiw ...

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

提供的 loadHTMLString 对我来说看起来有点奇怪......所以我尝试了这个......

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

...效果很好,并按预期显示了 localStorage 对象,并禁用了 cookie。

在 sim 和 iOS7 设备上进行了测试。

于 2014-05-06T20:04:21.543 回答
0

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

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

于 2014-06-21T05:10:18.720 回答
-1

尝试:

window.localStorage

例如:

[webView loadHTMLString:@"<script>alert('hello world');alert(window.localStorage);</script>" baseURL:nil];
于 2013-09-26T15:03:40.523 回答