ios - 当应用程序后台运行然后恢复时,带有 HTML5 数据库的 UIWebView 不会加载

标签 ios objective-c html uiwebview

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

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

通过 Safari 调试进一步调查问题,似乎问题是由 javascript 错误 “SECURITY_ERR:DOM 异常 18:试图突破用户代理的安全策略。”触发的。 此错误与 openDatabase 命令有关。

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

有什么想法吗?

最佳答案

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

试试这个

  • (BOOL)application:(UIApplication *)application 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];

    返回是;

我在 didFinishLaunchingWithOptions 委托(delegate)方法上添加了 [UIWebView new]; 语句。现在“SECURITY_ERR: DOM Exception 18”不会出现。

关于ios - 当应用程序后台运行然后恢复时,带有 HTML5 数据库的 UIWebView 不会加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15003490/

相关文章:

javascript - 根据浏览器窗口大小流畅地调整所有图像的大小

android - React Native 可以用作 Write Once Run Anywhere 吗?

iOS自动@synthesize而不创建ivar

objective-c - 贝塞尔路径看是否交叉

objective-c - NSOutlineView 将 NSBannerView 添加到分组行

javascript - 如何在html表格中按升序对日期数组和列表进行排序?

html - 如何减少字段集中元素之间的空间

ios - Parse.com 本地化错误

ios - 使用 segue 时,在初始化程序之前将数据传递到 View Controller 。 ( swift )

iphone - 具有匿名函数/ block 的 NSTimer?