3

我遇到了一个应用程序的奇怪问题,其中一个主要视图是UIWebView. 这个应用程序在导航控制器中有一个登录视图控制器(UIKit仅),成功登录后,主视图控制器被推送,其中包含一个UIWebView和一些其他控件。加载并显示webViewKindle Cloud Reader ( http://read.amazon.com )。

如果在登录屏幕上(当用户按下主页或在正常的 Facebook 登录流程期间)应用程序在后台/切换时会出现问题。在这种特定情况下,Kindle 阅读器永远不会加载(即使 UIWebView 是在登录后创建的)。如果在创建 webview 之后应用程序是后台的,则不会发生此问题。

通过Safari调试进一步调查问题,似乎问题是由javascript错误触发的。"SECURITY_ERR: DOM Exception 18: An attempt was made to break through the security policy of the user agent."此错误与openDatabase命令有关。

这个问题似乎与https://issues.apache.org/jira/browse/CB-330有关。iOS 5 及以后的所有版本都会受到影响,包括设备和模拟器。

有什么想法吗?

4

1 回答 1

1

我也面临同样的问题。我不知道为什么会这样。但是我们找到了解决方法。

尝试这个

  • (BOOL)应用程序:(UIApplication *)应用程序 didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    [UIWebView 新];

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // 应用程序启动后自定义的覆盖点。self.viewController = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];

    self.window.rootViewController = self.viewController;

    [self.window makeKeyAndVisible];

    返回是;

}

我添加了[UIWebView new];关于 didFinishLaunchingWithOptions 委托方法的声明。现在“SECURITY_ERR: DOM Exception 18”不会出现。

于 2013-03-12T06:41:02.390 回答