【问题标题】:UIWebView throwing Frame load interrupted errorUIWebView 抛出帧加载中断错误
【发布时间】:2014-07-11 06:30:43
【问题描述】:

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

我正在使用以下代码在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 "帧加载中断" 用户信息=0x9b58fa0
{NSErrorFailingURLKey=file:///Users/poonam/Library/Application%20Support/iPhone%20Simulator/7.1/Applications/7EE726E5-5315-4BEE-9629-F85FBCD46BC3/Documents/V2_076eb8847184be9e441f1bed7cc1a705.asp, NSErrorFailingURLStringKey=file:///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;
}

但是我无法解决我的问题。大家有什么建议

【问题讨论】:

  • 可能对你有帮助:stackoverflow.com/questions/7275695/…
  • 您是在模拟器还是实际设备上执行此操作?我在 sim 上遇到了同样的问题,但它可以在设备上运行。

标签: ios objective-c uiwebview


【解决方案1】:

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

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

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

【讨论】:

  • 我有一个发往服务器的 POST 请求,它以 PDF 数据进行响应。扩展名为 .pdf 的文件名以 application/x-www-form-urlencoded 格式作为参数发送。我也收到 Error Domain=WebKitErrorDomain Code=102 “Frame load interrupted” 错误。如何解决?请帮忙。 TIA
  • 你还在面对这个问题吗?
【解决方案2】:

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

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

在我的 UIWebView 委托中。改为

return true

修复了问题并

func webViewDidFinishLoad(_ webView: UIWebView)

在那之后被调用。

【讨论】:

    猜你喜欢
    • 2010-12-01
    • 1970-01-01
    • 2014-06-21
    • 2013-11-11
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 2020-03-30
    • 1970-01-01
    相关资源
    最近更新 更多