WKWebView可以支持encoded url吗?
Can WKWebView support encoded url?
如果我使用编码url在WKWebView中打开,这个webView无法打开这个link。
NSString* request = @"http%3A%2F%2Fwww.baidu.com%0A";
NSURL* url = [NSURL URLWithString:request];
[self.webView loadRequest:[NSURLRequest requestWithURL:url]];
所以我必须在将 url 传递给 WKWebView 之前对其进行解码。
任何其他使 WKWebView 支持编码的漂亮方法 url?
不行,没有别的办法。解码 URL。我猜你是从 URL 查询字符串字段中得到的。如果是这样,请利用 NSURLComponents
。这使得获取查询字符串部分的未编码值变得容易。
NSString *valueForKeyInURL(NSString *key, NSURL *URL) {
NSURLComponents *components =
[NSURLComponents componentsWithURL:URL
resolvingAgainstBaseURL:NO];
NSURLQueryItem *theField = nil;
for (NSURLQueryItem *item in components.queryItems) {
if ([item.name isEqual:key]) {
theField = item;
break;
}
}
return item.value;
}
如果我使用编码url在WKWebView中打开,这个webView无法打开这个link。
NSString* request = @"http%3A%2F%2Fwww.baidu.com%0A";
NSURL* url = [NSURL URLWithString:request];
[self.webView loadRequest:[NSURLRequest requestWithURL:url]];
所以我必须在将 url 传递给 WKWebView 之前对其进行解码。 任何其他使 WKWebView 支持编码的漂亮方法 url?
不行,没有别的办法。解码 URL。我猜你是从 URL 查询字符串字段中得到的。如果是这样,请利用 NSURLComponents
。这使得获取查询字符串部分的未编码值变得容易。
NSString *valueForKeyInURL(NSString *key, NSURL *URL) {
NSURLComponents *components =
[NSURLComponents componentsWithURL:URL
resolvingAgainstBaseURL:NO];
NSURLQueryItem *theField = nil;
for (NSURLQueryItem *item in components.queryItems) {
if ([item.name isEqual:key]) {
theField = item;
break;
}
}
return item.value;
}