Questions sur Webkit

aLittleWoodElfe

Membre confirmé
28 Février 2004
81
1
Bonjour,

Je voudrais réaliser une application qui affiche une page html contenant des formulaires et faire en sorte que l'application puisse accéder aux données rentrées dans le formulaire.

Est-ce que le framework Webkit permet de faire ça ?

(J'ai déjà suivi le tutoriel de PO : MyOneLineBrowser, des pistes pour avoir plus de docs sur Webkit ? à part sur le site d'Apple que je connais déjà :-)
 
aLittleWoodElfe a dit:
Bonjour,

Je voudrais réaliser une application qui affiche une page html contenant des formulaires et faire en sorte que l'application puisse accéder aux données rentrées dans le formulaire.

Est-ce que le framework Webkit permet de faire ça ?

(J'ai déjà suivi le tutoriel de PO : MyOneLineBrowser, des pistes pour avoir plus de docs sur Webkit ? à part sur le site d'Apple que je connais déjà :-)

Une application avec WebKit te permettra d'afficher tes pages (avec formulaires etc...ça cela depend du serveur web que tu utilises). Mais tu peux très bien faire une application double-clickable qui ne fait que de lire des pages web
wink.gif
 
tu peux ouvrir une connection sur le localhost

port 5554

et tu te fais ton propre script de recup post/get
voila ton mini service web
 
Merci de vos réponses.

Et encore une question, est-il possible de manipuler ainsi du javascript ?

En fait je dois utiliser autant que possible du code html/javascript déjà existant (pour Windows :-( ), ce code est fourni par un serveur IIS et échange des données avec le poste client qui l'affiche.
 
aLittleWoodElfe a dit:
Merci de vos réponses.

Et encore une question, est-il possible de manipuler ainsi du javascript ?

En fait je dois utiliser autant que possible du code html/javascript déjà existant (pour Windows :-( ), ce code est fourni par un serveur IIS et échange des données avec le poste client qui l'affiche.

Pour le javascript il faut implémenter d'autres fonctions dans ton programme, par défaut le tuto qui te permet de créer un navigateur web avec une seule ligne de code ne te permet pas de gérer le javascript, il te faut regarder sur le net s'il n'y a pas une explication quelconque
wink.gif
laugh.gif
 
En fait avec le tutorial par défaut, le code JavaScript est correctement interprété.

Le truc c'est que cela se fait sans que je sache trop comment alors que pour moi l'objectif est de récupérer certaines des valeurs contenues dans des variables JavaScript lorsque l'utilisateur appuie sur un bouton javascript.

J'ai posé ma question sur la liste de diffusion des utilisateurs de webkit. On verra bien.

Je pense que ça doit être possible en utilisant des delegates ou des notifications mais je n'ai jamais fait ça et Webkit est encore peu documenté je trouve. Ce dont j'ai peur c'est qu'il faille descendre plus bas dans WebCore et/ou le JavaScriptCore
frown.gif
 
La solution à mon problème :

Pour récupérer une variable javascript de la page :
_script = [[NSString alloc] initwithString: @"return g_strId"];
_result = [[NSString alloc] initwithString: [webView stringByEvaluatingJavaScriptFromString: _script]];

Pour savoir quand une action JavaScript a été faite :
Implémenter le protocole informel WebPolicyDelegate sur le controler, en particulier la méthode webView:decidePolicyForNavigationAction:request:frame:decisionListener:

Un peu de code pour être plus clair :
-le JavaScript : <a href="#" onclick="Confirm()">Confirmer</a>

-la méthode en Obj-C :

- (void)webView:(WebView *)sender decidePolicyForNavigationAction:(NSDictionary *)actionInformation request:(NSURLRequest *)request frame:(WebFrame *)frame decisionListener:(id<WebPolicyDecisionListener>)listener
{
if( [actionInformation objectForKey:@"WebActionNavigationTypeKey"] != nil )
{
NSLog([[actionInformation objectForKey:@"WebActionNavigationTypeKey"] description]);
//this NSLog was just to know the returned values, now I can test them and do what i want
}
[listener use];
}


En fait je n'intercepte pas l'appel à une fonction JavaScript mais celui au "href" qui lance ce JavaScript.