the operation could't be completed(webkitErrorDomain error 10

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];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值