Intercepter données en get ou post d'une webview

ettiboettibo Membre
04:25 modifié dans Vos applications #1
Bonjour à  tous,
alors, voilà , j'ai un projet où j'ai des sondages en html, j'ai donc une webView et je voudrais savoir s'il existe un moyen d'intercepter quand la personne clique sur valider et d'extraire les variables qui sont passées en GET.
J'espère que mon explication est assez claire.
Merci d'avance

Réponses

  • hmakshmaks Membre
    04:25 modifié #2
    Salut pour le GET tu peux récupérer l'URL de cette manière à  toi après de la parser pour récupérer tes données.

    - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {<br />	NSString * url = [[request URL] absoluteString];<br />	NSLog(@&quot;url :&nbsp; %@&quot;,url);<br />}<br />
    
  • ettiboettibo Membre
    04:25 modifié #3
    Merci pour ta réponse mais que je sois sur de comprendre, cette méthode va être appelée dés qu'une page va être chargée?
  • hmakshmaks Membre
    04:25 modifié #4
    oui, dès que la web-view effectue une requête avant même que la page soit chargée cette méthode est appelée.
  • ettiboettibo Membre
    juillet 2011 modifié #5
    Bonjour, alors au risque de passer par un gros boulet, cette  méthode doit être implémentée dans une surcharge de ta webview?
    Parce que j'ai surchargé la méthode et le NSLog ne se fait pas.
    A noter que j'ai une classe qui hérite du UIWebView, voici le code:

    @implementation UIWebView (myWebView)<br /><br />- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {<br />&nbsp; &nbsp; NSString * url = [[request URL] absoluteString];<br />&nbsp; &nbsp; NSLog(@&quot;url :&nbsp; %@&quot;,url);<br />&nbsp; &nbsp; return YES;<br />}<br /><br />- (void)webViewDidFinishLoad:(UIWebView *)webView<br />{<br />&nbsp; &nbsp; NSLog(@&quot;plop&quot;);<br />}<br /><br />@end<br />
    
  • ettiboettibo Membre
    04:25 modifié #6
    Ah ouais, en fait, j'étais pas du tout bien, parti, il fallait faire un setDelegate de la view sur mon controller et surcharger la méthode dans le controlleur
  • 04:25 modifié #7
    aà¯e.
  • ettiboettibo Membre
    04:25 modifié #8
    Comment ça aà¯e? >:)
  • CeetixCeetix Membre
    04:25 modifié #9
    Eh bien disons que tu n'as pas vraiment compris le principe des délégués :)
    La surcharge n'a rien à  voir là  dedans !
    Je te conseille déjà  de lire le petit tuto sympa de notre gourou Ali. il explique le principe comment fonctionne un protocole.
    Sachant que dans ton cas tu n'as même pas besoin de toucher au protocole, tu n'es que le receveur.
  • ettiboettibo Membre
    04:25 modifié #10
    Merci pour l'aide et pour le lien, ça m'a beaucoup aidé pour pas mal d'autres trucs  <3
Connectez-vous ou Inscrivez-vous pour répondre.