NSString *pathStr= [link stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
經過實作之後,確定是可以用的。
經過實作之後,確定是可以用的。
参考:
NSString *pathStr= [link stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL* url =[NSURL URLWithString:pathStr];
NSLog(@"%@",url.host); //原本 host 是解析不出來的,現在可
以 NSURLRequest* urlReq = [ NSURLRequest requestWithURL:url ];
[ webView loadRequest: urlReq ];
今天遇到一個問題,就是網站如果使用MVC的開發模式,我們會遇到這樣類似的網址:"http://domain.com/25067/看完好想去旅行!青春18車票海報"。網頁的title塞到網址的最後面,這樣的做法雖然有利於SEO,但是 UIWebView 的 WebKit 去會把它當做是不合規格的網址,沒有辦法讀進網頁,會出現以下的錯誤訊息:
Error Domain=WebKitErrorDomain Code=101 "The operation couldn’t be completed. (WebKitErrorDomain error 101.)
以下是我的暫時的解決方式:
1.先判斷網址是否能夠連網。
2.如果不行,把網址最後的網頁title給拿掉。
NSString *link=@"http://domain.com/25067/看完好想去旅行!青春18車票海報";
NSString *pathStr=@"";
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:link]]) {
pathStr=[NSString stringWithString:link];
}else {
NSMutableArray *aryx=[[NSMutableArray alloc] initWithArray:[link componentsSeparatedByString:@"/"]];
[aryx removeLastObject];
for (int i=0; i<</span>[aryx count]; i++) {
pathStr=[pathStr stringByAppendingString:[NSString stringWithFormat:@"%@/",[aryx objectAtIndex:i]]]; } }
NSURL* url = [NSURL URLWithString:pathStr];
NSURLRequest* urlReq = [ NSURLRequest requestWithURL:url ];
[ webView loadRequest: urlReq ];