【发布时间】:2011-06-30 14:16:00
【问题描述】:
我有 2 个 HTML5 应用程序,它们使用:
localStorage[key] = value;
保存数据(我尝试了其他 localStorage 方法,例如 localStorage.keyName = "Bla" 有同样的问题)。这些文件被添加为引用文件(蓝色文件夹),并带有此代码以显示在 UIWebView 上:
NSString *htmlPath = [[NSBundle mainBundle] pathForResource:@"index"
ofType:@"html"
inDirectory:@"/some_path" ];
NSString *html = [NSString stringWithContentsOfFile:htmlPath
encoding:NSUTF8StringEncoding
error:nil];
[webView loadHTMLString:html
baseURL:[NSURL fileURLWithPath:
[NSString stringWithFormat:@"%@/some_path/",
[[NSBundle mainBundle] bundlePath]]]];
webView.scalesPageToFit = YES;
奇怪的是 localStorage (javascript) 可以在一个应用程序上运行,而不能在另一个应用程序上运行。在它不起作用的地方,我尝试了一个 try/catch 代码来获取错误,并得到一个 DOM 18 Security_Err。听起来它不允许我访问它,因为文件是本地的。如果两个应用程序都是这种情况,那将是有意义的。
我不知道有什么不同,因为它们中的代码几乎相同。我没有为 UIWebView 添加任何特殊功能来禁用任何类型的特殊安全限制。
我真的不知道发生了什么。唯一不同的是 HTML/JS/CSS 方面。我不认为这个问题是由 Cocoa Touch 代码引起的,因为我确实复制了项目来创建第二个应用程序。
提前致谢,如果您需要更多信息,请随时询问。我无法在 Google 或此处找到任何解决方案。似乎缺少有关 localStorage 键/值的信息。这是有道理的,因为它很容易使用,但仍然如此。其他人有这个问题吗?
【问题讨论】:
标签: javascript iphone ios html