奇怪的webview + baseurl行为

时间:2011-08-16 13:52:36

标签: iphone uiwebview base-url

此代码片段:

NSString *content = @"<html><head></head><body bgcolor=#AAAAAA></body></html>";
[wv loadHTMLString:content baseURL:[NSURL URLWtihString:@""];
除了上面写的一个(即使是nil),

不能与任何其他baseURL一起使用。此行为阻止我在webViews中使用本地数据。任何人都可以对此有任何帮助吗? 如果我设置了任何其他baseURL,则只是没有加载内容

1 个答案:

答案 0 :(得分:2)

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

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

我做不了多少。使用[[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent]是不正确的,因为这样你就可以向上和向外移动应用程序包,但是既然你说你正在尝试很多变种,我不确定它是什么。

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

编辑:

如果您需要访问应用的图书馆文件夹,这是可行的方法(source

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

无论如何,从你的评论:“他们以前是我的应用程序下载的”,你应该已经知道如何去那里了...无论如何,我建议再次检查你试图在webView:shouldStartLoadWithRequest:中访问哪些文件...