UIWebView抛出帧加载中断错误

时间:2014-05-22 09:40:59

标签: ios objective-c uiwebview

我正在处理我正在下载文件并将其保存在文档目录中的应用程序 因此,当用户下次使用该应用程序时,他可以直接打开已下载的文件

我使用以下代码在UIWebView的下一个屏幕上显示该文件:

NSURLRequest *urlRequest = [NSURLRequest requestWithURL:self.url]; // where url is url of file in documents directory
[webView loadRequest:urlRequest];

这对于扩展名为 pdf 的文件非常有效,但有些文件的扩展名为 asp ,  当我试图打开这些文件时,我收到此错误  错误

  

Domain = WebKitErrorDomain Code = 102"帧加载中断"   的UserInfo = 0x9b58fa0
  {NSErrorFailingURLKey =文件:///Users/poonam/Library/Application%20Support/iPhone%20Simulator/7.1/Applications/7EE726E5-5315-4BEE-9629-F85FBCD46BC3/Documents/V2_076eb8847184be9e441f1bed7cc1a705.asp,   NSErrorFailingURLStringKey =文件:///Users/poonam/Library/Application%20Support/iPhone%20Simulator/7.1/Applications/7EE726E5-5315-4BEE-9629-F85FBCD46BC3/Documents/V2_076eb8847184be9e441f1bed7cc1a705.asp,   NSLocalizedDescription =帧加载中断}

要解决this,我试过

- (BOOL)webView:(UIWebView *)theWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
   if ([url.scheme isEqualToString:@"file"]) {
    NSLog(@"Open start page");
    [[UIApplication sharedApplication] openURL:url];
    return NO;
}
return YES;
}

但是我无法解决我的问题。请提出任何建议

2 个答案:

答案 0 :(得分:1)

迟到的答案,但这可能对某人有用。 我得到了同样的错误,因为我没有意识到我在

中是returnint false
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool

在我的UIWebView Delegate中。改为

return true

解决了问题和

func webViewDidFinishLoad(_ webView: UIWebView)
之后

被召唤。

答案 1 :(得分:0)

最后花了几个小时,在这里,我找到了这个常见的Webview“框架加载中断”问题的解决方案:

  • 下载字节形式的文件
  • 将其存储在本地存储中
  • 使用本地路径在Web视图中加载文件,并且可以正常工作

上述步骤的代码: https://stackoverflow.com/a/59194408/12483992