我使用这行代码将本地html文件加载到Web视图中:
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"html"]];
但是我想在网址上添加一些http参数到目前为止没有运气。
我试过这个:
url = [url URLByAppendingPathComponent:@"?param1=1"];
但在此之后,html无法在webview中加载。
有没有办法在paraview中加载webview中的本地html文件?
答案 0 :(得分:13)
这样做:
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"html" inDirectory:@"html"]];
NSString *URLString = [url absoluteString];
NSString *queryString = @"?param1=1";
NSString *URLwithQueryString = [URLString stringByAppendingString: queryString];
NSURL *finalURL = [NSURL URLWithString:URLwithQueryString];
NSURLRequest *request = [NSURLRequest requestWithURL:finalURL cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:(NSTimeInterval)10.0 ];
[web loadRequest:request];
答案 1 :(得分:6)
Prince 最受欢迎的答案并不总是有效。
在iOS 7中,Apple推出了NSURLComponents
类,我们可以利用它来安全地将查询添加到NSURL
。
NSURL *contentURL = ...;
NSURLComponents *components = [[NSURLComponents alloc] initWithURL:contentURL resolvingAgainstBaseURL:NO];
NSMutableArray *queryItems = [components.queryItems mutableCopy];
if (!queryItems) queryItems = [[NSMutableArray alloc] init];
[queryItems addObject:[NSURLQueryItem queryItemWithName:@"access_token" value:@"token_here"]];
components.queryItems = queryItems;
NSURL *newURL = components.URL;
答案 2 :(得分:1)
我这样使用:
NSURL *url=[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"index" ofType:@"xml"]];
如果您的文件包含在项目导航器的Resource文件夹中。否则,您必须在NSString
中设置完整路径并在NSURL
路径中使用该路径。