【问题标题】:Load Offline content in UIWebView在 UIWebView 中加载离线内容
【发布时间】:2023-03-06 17:10:01
【问题描述】:

我正在将 UIWebView 的 HTML 内容缓存在一个字符串中,并尝试在应用程序离线时将其加载回来

if ([hostReach hostConnectionStatus] == NotReachable) { NSString *cachedResponse = [[NSString alloc] initWithData:[self responseHTMLData] encoding:NSNEXTSTEPStringEncoding]; [webView loadHTMLString:cachedResponse baseURL:final_url]; }

cachedResponse 是其中的 HTML 数据,但问题是 UIWebView 无法加载此数据

// Web 视图代理 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { 返回是; } - (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { // 错误描述“连接离线” }

如何在 UIWebVIew 离线时加载 HTML 内容

【问题讨论】:

  • final_url 的值是多少。 HTML 文件中引用的所有资源也必须被缓存,final_url 需要是这些缓存资源的路径。
  • @user3386109 确实有效。谢谢。您将其添加为 ans,我可以接受。
  • 很高兴听到这对你有用

标签: ios iphone objective-c uiwebview


【解决方案1】:

HTML 文件中引用的所有资源也必须被缓存,baseURL 需要是这些缓存资源的路径。

【讨论】:

  • 是否需要互联网连接才能再次加载相同的 HTML 内容?
  • @iThink 如果您拥有 HTML 文件所需的所有资源,则无需互联网连接即可加载 HTML 文件。
【解决方案2】:
 NSString *pathLogo = @"Your Directory Path";
NSURL *baseURL_Logo = [NSURL fileURLWithPath:pathDir];
NSMutableString *contentHTML = [[NSMutableString alloc] init];
[contentHTML appendFormat:@"<img src=\"%@Image.png\"/>\n",baseURL_Logo];

【讨论】:

  • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多