2009-11-23 5 views

Répondre

9

Vous pouvez travailler avec webView shouldStartLoadWithRequest comme ceci:

(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; 
    } 

Vous devez également définir le délégué Webviews un objet de classe où cette méthode est mise en œuvre: [webView setDelegate:my...];

Par la mise en œuvre, aucune URL est chargé sauf ceux pour lesquels la condition est vraie. Au moins pour l'url du premier site, il doit être vrai. Le code ci-dessus fonctionne pour une vue web initialement chargée avec le contenu d'un fichier, contenant uniquement des liens vers 'http: //' ou 'https: //' ou ...

+0

Merci, c'est exactement ce que j'essaie de résoudre –

+0

cela peut être raccourci à une ligne si ... return [request.URL.scheme isEqualToString: @ "file"] (ou quel que soit le critère est: D) –

Questions connexes