【问题标题】:Black screen appears when viewing HTML5 the second time on UIWebView using iOS6使用 iOS6 在 UIWebView 上第二次查看 HTML5 时出现黑屏
【发布时间】:2012-11-08 17:37:52
【问题描述】:

我在我的 iPad 应用程序上显示两个 HTML5 文档,在 iOS 6.0.1 上使用 UIWebView。
其中一个没有问题,我可以随心所欲地打开和关闭 webview。 另一个可以显示一次,然后当我关闭我的 web 视图并想再次重新打开文档时,webview 显示黑屏。

我自己没有准备好 HTML5 文档,而且我对 HTML5 了解不多,所以我无法区分导致这种行为的它们之间的区别。

以下是我创建 web 视图以及加载 HTML5 的方式:

UIWebView *theWebView = [[UIWebView alloc] init];

theWebView.scalesPageToFit = YES;
theWebView.clearsContextBeforeDrawing = YES;
theWebView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);

//adjust frame and add to view controller's view here

NSURL *url = [NSURL URLWithString:@"http://www.handypdf.net/davsan"];
[theWebView loadRequest:[NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60.0]];

每次打开 HTML5 文档时,我都会重新创建 Web 视图。所以我不会重复使用它。

为了解决这个问题,我尝试清理缓存、cookie 等。在these SO 答案中进行了解释,但没有奏效。

这里是有问题和没有问题的 HTML 文档的链接:

This one 工作正常。 This one 第二次不行。

此外,如果您想在线查看这些 HTML5 页面,请点击以下链接:

This one 工作正常。 This one 第二次不行。

iOS 5.x 不会出现此问题。它也可以使用 iOS 模拟器进行复制。 你会建议如何解决它?

谢谢

【问题讨论】:

  • 我现在似乎遇到了这个确切的问题。您是否碰巧在这方面取得了任何进展?
  • 我也是,请告诉我们...
  • 嘿伙计们,我把我如何处理这个问题放在了答案上。希望这对你也有用......

标签: html uiwebview ios6


【解决方案1】:

不是一个令人满意的答案,但这是我解决这个问题的方法:

这几天我没能解决这个问题。然后我删除了我所有的代码并从头开始重新编写了功能,然后它就解决了。我无法理解确切的原因,因为我在第二次尝试时没有写任何花哨的东西,所以很遗憾我不知道它是如何解决的:(

这是我刚刚做的:

创建一次 web 视图,并缓存它:

+(UIWebView *)getTheWebView {
    if (theWebView) return theWebView;

    theWebView = [[UIWebView alloc] init];
    theWebView.scalesPageToFit = YES;
    theWebView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
    return theWebView;
} 

然后,当我想显示 web 视图时:

UIWebView *theWebView = [HTML5Manager getTheWebView];
theWebView.frame = self.view.frame;

[self.view addSubview:theWebView];

这是我加载 URL 的方式:

[theWebView loadRequest:[NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0]];

这就是它,它有效。我知道这没有意义,但我希望它也能帮助你......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-31
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多