2010-11-29 8 views
1

J'ai quelques doutes concernant WebKit Framework dans le cacao ... merci de les clarifier.Quelles sont les capacités du framework WebKit

  1. L'application peut-elle transmettre/recevoir des paramètres à l'application Web? Si oui, quel sera le mécanisme pour cela?
  2. L'application de cacao peut-elle répondre (par exemple, changement d'interface utilisateur ou message d'alerte) en fonction des paramètres i/p ou o/p de l'application Web?
  3. Sera-t-il possible pour l'application cacao d'appeler un script Java/Java externe (webapp)?

Répondre

3

Dans le cas où vous organisez une WebView WebKit dans votre application: -

  1. Objective-C dans votre application peut appeler Java Script dans la page hébergée. Utilisez le message WebView windowScriptObject pour récupérer un objet que vous pouvez appeler evaluateWebScript. Javascript dans la page hébergée peut appeler le code Objective-C dans votre application: Vous devez annoncer les méthodes appelables en implémentant le protocole WebScriptObject. La partie critique est que vous appelez [[theView windowScriptObject] setValue: someobjectthatimplementstheprotocol forKey: @ "callme"]. Javascript peut alors appeler "callme.someMethod (blah)", qui interrogera votre objet pour voir s'il supporte someMethod et l'appellera ensuite.

le HTML pourrait ressembler à ceci IIRC:

<button onClick="callme.someMethod()" .../> 
+0

thx Chris, mais est-il un moyen disponible afin que je puisse savoir si ha utilisateur a cliqué sur une touche ou un lien dans la page Web? – Sid

+0

Si le clic sur le bouton est implémenté en tant que script java, il peut appeler votre code obj-c via le protocole de rappel WebScriptObject. Si le clic est sur un élément de type lien simple, WebView dispose d'une interface déléguée iirc qui est avertie de la progression, des navigations, etc. –

Questions connexes