我希望将主要包中的大.htm
个文件加载到webview中。在我将片段ID附加到URL的末尾之前没问题。我希望webview在按下按钮时以锚ID #c
打开。
BTW:如果我创建了一个URL http://www.mydomain.com/database.htm#c并从Internet加载它。一切都很好。
我尝试了几种方法。两者都失败了。我猜服务器端在互联网上解析URL,但iPhone没有这种能力。有没有人有建议?如果可能,请明确说明。我是一个菜鸟,我自己。
难倒
NSString *path = [[NSBundle mainBundle] pathForResource:@"database1.htm" ofType:nil];
NSString *pathWithFrag = [NSString stringWithFormat:@"%@%@%",path, @"#c"];
NSURL *baseURL = [ NSURL fileURLWithPath:pathWithFrag];
[spinner2 loadRequest:[NSURLRequest requestWithURL:baseURL]];
[super viewDidLoad];
OR
NSString *path = [[NSBundle mainBundle] pathForResource:@"database1.htm" ofType:nil];
NSURL *baseURL = [ NSURL fileURLWithPath:path];
NSURL *newURL = [baseURL URLByAppendingPathComponent:@"#c"];
[spinner2 loadRequest:[NSURLRequest requestWithURL:newURL]];
[super viewDidLoad];
答案 0 :(得分:3)
看起来这可能是NSURL url转义为“#”字符的问题:http://9mmedia.com/blog/?p=299
按照该博客文章中的方法,这样的事情可能会起作用:
NSString *path = [[NSBundle mainBundle] pathForResource:@"database1.htm" ofType:nil];
NSURL *baseURL = [NSURL fileURLWithPath:path];
NSURL *fullURL = [NSURL URLWithString:@"#c" relativeToURL:baseURL];
[spinner2 loadRequest:[NSURLRequest requestWithURL:fullURL]];
[super viewDidLoad];
答案 1 :(得分:0)
%
格式的额外pathWithFrag
可能会导致问题:尝试@"%@%@"
,而不是@"%@%@%"