Pouvez-vous appeler une fonction javascript à partir du code natif (pas de rappel) à l'aide de PhoneGap et iOS?
J'espère être en mesure d'utiliser PhoneGap pour mon application. Je vais construire un protocole personnalisé/plugin de sorte que je peux appeler des méthodes Indigènes de l'Javascript. Je sais que vous pouvez appeler un succès fonction dans le code Javascript, lorsque le code natif retourne.
Ce dont j'ai besoin pour être en mesure de faire est d'appeler une fonction javascript à partir du code natif. Fondamentalement, l'application va se connecter à un OSX application compagnon sur un réseau local et lorsque le OSX app envoyer des données à l'application iOS elle est traitée dans un Objectif C méthode, j'ai besoin d'être en mesure d'envoyer le résultat dans la PhoneGap/javascript et faire quelque chose avec elle dans la WebView.
Est-ce possible? J'ai seulement été en mesure de trouver des informations sur l'appel natif de javascript et non pas l'inverse.
Grâce,
Thomas
En utilisant le code de Réponse ci-dessous ici:
MyPhoneGapPlugin.m
- (void)onSocket:(AsyncSocket *)sock didConnectToHost:(NSString *)host port:(UInt16)port {
NSLog(@"Connected To %@:%i.", host, port);
NSString* jsString = [NSString stringWithFormat:@"alert(connected to: %@);", host];
[theWebView stringByEvaluatingJavaScriptFromString:jsString];
[self readWithTag:2];
}
De me donner l'erreur Inconnue "récepteur" theWebView "ne vous entendez par "UIWebView'?
Mise à JOUR: Trouvé la réponse: à l'aide de la phonegap helper je peux écrire quelque chose comme ceci...
[super writeJavascript:@"alert('connected');"];
OriginalL'auteur tsdexter | 2011-10-10
Vous devez vous connecter pour publier un commentaire.
Vous pouvez facilement appeler JavaScript à partir du code natif avec un
UIWebView
:D'utiliser le résultat d'une fonction quelque part comme un argument à une fonction JS:
Attendre 4 minutes à l'accepter...
Merci pour la mise à jour. Qui aurait probablement été ma prochaine question.
🙂 Pas de soucis!
N dérouleurs , Regarder le cas de la sensibilité: stringByEvaluatingJavaScriptFromstring PAS stringByEvaluatingJavascriptFromstring
OriginalL'auteur darvids0n
Trouvé le PhoneGap helper pour ce faire... Écrire du code javascript à la webView à l'aide de:
J'ai peur cordova peut avoir beaucoup changé depuis que je l'ai fait donc je ne suis pas tout à fait sûr de ce qui serait nécessaire maintenant. J'ai été capable de l'appeler comme ça de toutes les méthodes dans mon application - peut-être, découvrez cet article sur les docs pour plus d'info: docs.phonegap.com/en/2.0.0/...
OriginalL'auteur tsdexter
Vous devriez essayer ce,
OriginalL'auteur master
Fera ce travail pour vous?
http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DisplayWebContent/Tasks/JavaScriptFromObjC.html
Prises à partir de cette page:
Vous pouvez également appeler des fonctions JavaScript avec des arguments. Supposons que vous ayez écrit une fonction JavaScript qui ressemble à ceci:
Son but est d'ajouter une image à une page web. Elle est appelée avec trois arguments: l'image, l'URL de l'image; largeur, la largeur de l'écran de l'image; hauteur, la hauteur de l'écran de l'image. Vous pouvez appeler cette méthode l'une des deux façons d'Objective-C. Le premier crée le tableau d'arguments avant d'utiliser le WebScriptObject pont:
Oui, j'ai besoin de cette fonctionnalité sur l'Application iOS pas de Mac OSX Application Compagnon. Je vous remercie bien.
OriginalL'auteur Jason Sperske