0

此代码片段:

NSString *content = @"<html><head></head><body bgcolor=#AAAAAA></body></html>";
[wv loadHTMLString:content baseURL:[NSURL URLWtihString:@""];

不适用于任何其他 baseURL,除了上面写的(即使是 nil)。这种行为使我无法在我的 webViews 中使用本地数据。任何人都可以对此提供任何帮助吗?如果我设置任何其他 baseURL,内容只是没有被加载

4

1 回答 1

2

除了建议我在代码中使用的内容之外:

[webView loadHTMLString:[....
               baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

我无能为力。使用[[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent]是不正确的,因为那样你是在应用程序包之外向上移动,但既然你说你正在尝试许多变体,我不确定可能是什么。

如果您想尝试解决您的问题baseURL,请覆盖webView:shouldStartLoadWithRequest:并查看您的 Web 视图尝试打开的文件。

编辑:

如果您需要访问应用程序的 Library 文件夹,这是要走的路(来源

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *libraryDirectory = [paths objectAtIndex:0];
[webView loadHTMLString:[....
               baseURL:[NSURL fileURLWithPath:libraryDirectory]];

无论如何,根据您的评论:“它们以前是由我的应用程序下载的”,您应该已经知道如何去那里...无论如何,我建议再次检查您要访问的文件webView:shouldStartLoadWithRequest:...

于 2011-08-16T14:46:48.937 回答