UIWebView抛出帧加载中断错误



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

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

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

对于扩展名为pdf的文件来说,这是完美的,但也有一些扩展名为asp的文件当我试图打开这些文件,我得到这个错误误差

域名=WebKitErrorDomain Code=102 "Frame load interrupted"用户信息= 0 x9b58fa0
{NSErrorFailingURLKey =文件:///用户/poonam/图书馆/iPhone应用程序% 20支持/% 20模拟器/7.1/应用程序/7 ee726e5 - 5315 4 - bee - 9629 f85fbcd46bc3/文件/V2_076eb8847184be9e441f1bed7cc1a705.asp,NSErrorFailingURLStringKey =文件:///用户/poonam/图书馆/应用程序% 20支持/iPhone模拟器% 20/7.1/应用程序/7 ee726e5 - 5315 4 - bee - 9629 f85fbcd46bc3/文件/V2_076eb8847184be9e441f1bed7cc1a705.asp,NSLocalizedDescription=帧加载中断}

为了解决这个问题,我尝试了

- (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;
}

但是,然而,我不能解决我的问题。如有任何建议,请参考

最后花了几个小时,在这里我找到了解决这个常见的Webview"帧加载中断"问题的方法:

  • 下载字节格式的文件
  • 存储在本地存储
  • 在Web视图中用本地路径加载文件,它可以工作

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

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

中返回了false
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool

在我的UIWebView委托中。改成

return true

修复了这个问题和

func webViewDidFinishLoad(_ webView: UIWebView)

最新更新