2012-11-08 46 views
1

在iOS 6.0.1上使用UIWebView在我的iPad应用程序上显示两个HTML5文档。
其中之一没有问题,我可以打开和关闭webview尽可能多。 另一个可以显示一次,然后当我关闭我的网络视图,并希望再次打开文档时,web视图显示黑屏。在使用iOS6的UIWebView上第二次查看HTML5时出现黑色屏幕

我自己并没有准备好HTML5文档,也没有太多有关HTML5的知识,所以我无法分辨它们之间的差异导致这种行为。

这里是我如何创建我的WebView,我怎么加载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视图。所以我不重复使用它。

为了解决这个问题,我尝试清理缓存,饼干等。在these解释SO答案,但它没有奏效。

这里是链接到有问题的和不-问题的HTML文档:

This one工作正常。 This one第二次不起作用。

另外,如果你想在网上检查这些HTML5网页的链接,他们说:

This one工作正常。 This one第二次不起作用。

这个问题在iOS 5.x上不会发生。它也可以使用iOS模拟器进行复制。 你会建议如何解决它?

THX

+0

我现在看起来有这个确切的问题。你有没有碰到这方面的进展? –

+0

我也是,请让我们知道... – Xarialon

+0

嘿家伙,我把我怎么处理这个答案。希望这也适用于你... – aslisabanci

回答

0

不是一个令人满意的答案,但这里是我进展如何解决这个问题:

我解决不了这个几天的。然后我删除了我的所有代码,并重新编写了这些功能,然后解决了它。我无法理解的确切原因,因为我没写任何幻想我的第二次尝试,所以很遗憾我不能告诉它如何解决:(

这里是我只是做:

创建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]; 

这里就是我如何加载网址:

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

这就是它,它的工作原理。我知道这是没有道理的,但我希望它也可以帮助你,...