如何将本地 HTML 文件作为字符串加载到 UIWebView?

Posted

技术标签:

【中文标题】如何将本地 HTML 文件作为字符串加载到 UIWebView?【英文标题】:How to load an local HTML file as string into UIWebView? 【发布时间】:2010-09-28 11:09:54 【问题描述】:

我想用 UIWebView 的- (void)loadhtmlString:(NSString *)string baseURL:(NSURL *)baseURL

但我不确定这个 baseURL 有什么用,或者我将如何创建它。我的文件名为localHTMLfile.html,我知道如何以正常方式加载此文件:

NSURL *url = [[NSBundle mainBundle] URLForResource:@"localHTMLfile" withExtension:@"html"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webview loadRequest:request];

所以这只是一个原始的猜测,但是那个 baseURL 会是我已经创建的 NSURL 对象吗?这有意义吗?

【问题讨论】:

【参考方案1】:

UIWebView 的全部意义在于显示网页。因此,基本 URL 将是 HTML 文档中的相对链接指向的路径。

如果您显示http://mywebpage.com/this/that/foo/bar.html,那么您的基本 URL 将是该页面的基本 URL - 无论相对链接等指向何处。这样可以可靠地指向任何链接,例如<a href="../hello.html">This is a link</a>

我猜你可以这样做:[NSURL URLWithString:[[NSBundle mainBundle] bundlePath]]

【讨论】:

【参考方案2】:

baseURL 将是一个文件:指向本地 HTML 文件存储目录的 URL。它将用于将 HTML 文件中的任何相对路径(例如对 CSS 或图像文件的引用)转换为其绝对路径地点。

【讨论】:

以上是关于如何将本地 HTML 文件作为字符串加载到 UIWebView?的主要内容,如果未能解决你的问题,请参考以下文章

如何将URL引用到Vue.Component.Template中

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

将本地 HTML 文件加载、导入或包含到 HTML 文件中 [重复]

如何将 json 文件加载到本地存储中?

无法仅将本地 html 文件加载到设备上的 WKWebView 中(适用于模拟器)

如何将本地文件加载到webview