NSString *pathStr= [link stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
經過實作之後,確定是可以用的。
經過實作之後,確定是可以用的。
参考:
NSString*pathStr=[link stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL*url=[NSURLURLWithString:pathStr];
NSLog(@"%@",url.host);//原本 host 是解析不出來的,現在可
以NSURLRequest*urlReq=[NSURLRequestrequestWithURL: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:[NSURLURLWithString:link]]){
pathStr=[NSStringstringWithString:link];
}else{
NSMutableArray*aryx=[[NSMutableArrayalloc]initWithArray:[link componentsSeparatedByString:@"/"]];
[aryx removeLastObject];
for(inti=0; i<</span>[aryx count]; i++){
pathStr=[pathStr stringByAppendingString:[NSStringstringWithFormat:@"%@/",[aryx objectAtIndex:i]]];}}
NSURL*url=[NSURLURLWithString:pathStr];
NSURLRequest*urlReq=[NSURLRequestrequestWithURL:url];
[webView loadRequest:urlReq];