the operation could't be completed(webkitErrorDomain error 10

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 ];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值