2011-09-14 5 views
0

Comment puis-je détecter la dernière page affichée dans un UIWebView? Fondamentalement, je veux dire, si (dans un si déclaration) la dernière page affichée dans le UIWebView était @ "http://www.example.com" et la page UIWebView actuelle est @ "http: // www .lalala.com "alors ...... et mon action.UIWebView Historique Si Déclaration

Merci,

James

Répondre

2

Dans le webViewDidFinishLoad du délégué WebView :, obtenir l'URL de la dernière page chargée (en examinant la propriété de demande de WebView) et le stocker dans une propriété. Ensuite, utilisez cette propriété dans votre instruction if.

Edit: ajouter une propriété (permet de dire à la classe déléguée UIWebView):

@property (nonatomic, retain) NSURL* lastLoadedURL; 

ajouter cette méthode:

- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
self.lastLoadedURL = [webView.request URL]; 
} 

Donc, chaque fois que vous devez vérifier la dernière page chargée vous » d quelque chose comme:

if([[self.lastLoadedURL lastPathComponent] isEqualToString:@"somepage.html"]) { 
//do stuff 
} 

ou si vous n'êtes pas dans la classe de délégué UIWebView, vous devez o remplacer self.lastLoadedURL par (delegateClassInstance) .lastLoadedURL.

+0

désolé, cela vous dérange de fournir un peu d'exemple de code car je ne suis pas sûr de savoir comment faire tout cela: S – pixelbitlabs

+0

voir la réponse éditée – SVD

+0

merci beaucoup! – pixelbitlabs