7
votes

Toute façon pour webview de communiquer avec une application native iOS?

J'ai une application iPad qui contient un webview. La page WebView a un bouton sur lequel, lorsque vous avez cliqué sur, indiquez à l'application native de fermer la vision Web. Y a-t-il un moyen de faire ça? c'est-à-dire un moyen pour le JavaScript dans la WEBVIEW de passer des messages à l'application native, et vice-versa?

Merci!


0 commentaires

4 Réponses :


2
votes

peut-être avoir un nsnotification le feu lorsqu'un champ nstring est modifié. Utilisez le message ici pour vous aider à communiquer comment communiquer entre JavaScript et Objective-c.

Ensuite, il s'agit simplement d'une notification et d'une logique de chaîne:

Étapes pour JavaScript vers l'objectif-C:

  1. Le bouton Vue Web est enfoncé.
  2. Méthode de déclenche JavaScript qui retourne la chaîne.
  3. Nstring local est mis à jour pour désigner le bouton de la vue Web (voir publication ci-dessus).
  4. Nsnotification incendies en fonction du changement de chaîne.
  5. Objective-C ferme la vue Web.

    Vous ne savez pas ce que vous voulez transmettre à la vue Web de l'objectif-C, mais le message ci-dessus devrait aider.


0 commentaires

0
votes

Vous pouvez attacher n'importe quelle action en utilisant xxx

qui détecte le JavaScript à partir de votre webview!

voici le doc: http://developer.apple.com/library/ios/#documentation/uikit /reference /Uiwebview_class/reference/reference.html


0 commentaires

4
votes

Vous pouvez envisager d'utiliser -Webview: DoStartTloadwithrequest: navigationType: . Créez un lien mannequin que vous pouvez identifier et fermer la vue Web. Quant à l'inverse, la réponse de Paska est appropriée.


0 commentaires

0
votes

Je pense que le meilleur moyen consiste à utiliser pseudo image à la place.

JS insérera une nouvelle image telle que: http://example.com/callnative_1354524562763 .gif? P1 = V1 & P2 = V2

et votre webview remplacera nsurlcache pour récupérer une image transparente 1x1 et analyser les paramètres de votre contenu Web.

Notez que nsurlcache uniquement en cache une seule fois, veuillez générer un nouvel horodatage pour chaque appel.

De cette façon est de travailler pour mon projet et appelle immédiatement une application iOS native.


0 commentaires