2009-11-23 3 views

ответ

9

Вы можете работать с webView shouldStartLoadWithRequest так:

(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType; 
    { 

      NSURL *loadURL = [[request URL]retain]; 
      //change next line to whatever condition you need, e.g. 
      //[[loadURL relativeString] ....] contains a certain substring 
      //or starts with certain letter or ... 
      if([[loadURL scheme] isEqualToString: @"file"]) 
      { 
       [loadURL release]; 
      return TRUE; 
      } 
      [loadURL release]; 
      return FALSE; 
    } 

Вы также должны установить webViews делегат объект класса, где этот метод реализован в: [webView setDelegate:my...];

К выше реализации, нет URL-адреса , кроме тех, для которых условие истинно. По крайней мере, для URL-адреса первого сайта это должно быть правдой. Код выше работает для веб-представления, первоначально загруженного содержимым файла, содержащего только ссылки на «http: //» или «https: //» или ...

+0

Спасибо, это именно то, что я пытаюсь решить –

+0

это может быть сокращено до одной строки, хотя ... return [request.URL.scheme isEqualToString: @ "file"] (или независимо от критериев: D) –

Смежные вопросы