0

请帮助我,我想做的是我有

  1. 一个带有 webkit 的 Cocoa 应用程序。
  2. 具有本地数据库的基于 HTML5 的 Web 应用程序。

我正在尝试在可可应用程序中运行此 HTML5 应用程序并收到此错误“错误:未知错误错误:SECURITY_ERR:DOM Exception 18。” 相同的应用程序在

  1. 苹果浏览器
  2. 苹果浏览器
  3. UIWebkit

我尝试过以下事情

@interface WebPreferences (WebPreferencesPrivate)
- (void) _setLocalStorageDatabasePath:(NSString *)path;
- (void) setDatabasesEnabled: (BOOL) databaseEnabled;
- (void) setLocalStorageEnabled: (BOOL) localStorageEnabled;
@end

WebPreferences* prefs = [self.mainWebVEW preferences];
[prefs _setLocalStorageDatabasePath:appdir];
[prefs setDatabasesEnabled:YES];
[prefs setLocalStorageEnabled:YES];
[prefs setDefaultFontSize:20];

唯一看起来有效的偏好是字体大小。

任何人都可以帮我解决这个问题吗?

提前致谢

问候

Ankit

4

1 回答 1

0

好的,所以最终解决了你所要做的就是再使用一个私有 API

@interface WebView(WebViewPrivate)
- (void)webView:(WebView *)sender frame:(WebFrame *)frame exceededDatabaseQuotaForSecurityOrigin:(id) origin database:(NSString *)databaseIdentifier;
@end

- (void)webView:(WebView *)sender frame:(WebFrame *)frame exceededDatabaseQuotaForSecurityOrigin:(id) origin database:(NSString *)databaseIdentifier
{
static const unsigned long long defaultQuota = 5 * 1024 * 1024;
if ([origin respondsToSelector: @selector(setQuota:)]) {
    [origin performSelector:@selector(setQuota:) withObject:[NSNumber numberWithLongLong: defaultQuota]];
} else { 
    NSLog(@"could not increase quota for %@", defaultQuota); 
}
}
于 2012-09-07T18:24:19.947 回答