如何在 iOS 中将本地(文档目录)html 加载到 webview 中?

Posted

技术标签:

【中文标题】如何在 iOS 中将本地(文档目录)html 加载到 webview 中?【英文标题】:How to load local (Document directory) html into webview in iOS? 【发布时间】:2014-08-20 12:10:14 【问题描述】:

我想加载下载到文件夹中的 html 文件。第一页加载正常,但到第二页的链接不起作用,图像也不起作用。我正在使用此代码:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
NSString *path = [documentDirectory stringByAppendingPathComponent:@"index.htm"];
NSString* htmlString = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
[pruvodceWebView loadHTMLString:htmlString baseURL:nil];

有什么原因,为什么webview会这样做?谢谢你

【问题讨论】:

html文件不是ios的问题。 【参考方案1】:

问题是您有 HTML 源代码但没有图像 而不是

[pruvodceWebView loadHTMLString:htmlString baseURL:nil];

您应该定义 baseURL。如果您的图像在文档目录中

NSString *path = [[NSBundle mainBundle] bundlePath];
NSURL *baseURL = [NSURL fileURLWithPath:path];
[pruvodceWebView loadHTMLString:htmlString baseURL:baseURL];

如果图片有相对路径,则提供图片路径

[pruvodceWebView loadHTMLString:htmlString baseURL:[NSURL URLWithString@"http://yourSiteHere.com/"]];

看看这个: Load resources from relative path using local html in uiwebview

【讨论】:

以上是关于如何在 iOS 中将本地(文档目录)html 加载到 webview 中?的主要内容,如果未能解决你的问题,请参考以下文章

ios如何加载本地文件

从应用程序的文档目录加载本地 html 文件 swift wkwebview

iOS:WKWebview 如何允许位于 bundle 中的 html 文件对文档目录进行读取访问

WKWebView 确实从本地文档文件夹加载资源

UIWebView 从本地文件系统加载 HTML 文件

从本地 HTML Xcode 加载本地图像