Je souhaite recevoir des rappels du code Javascript sur mon hôte Silverlight sans en utilisant ScriptableAttribute. Je l'ai déjà vu, mais je ne pouvais pas comprendre comment ils l'ont fait. Quelqu'un a-t-il des idées? MerciRecevoir des rappels de l'hôte HtmlPage dans Silverlight
Répondre
utilisation assez simple: -
HtmlPage.Window.Invoke("someJavascriptFunc", "Hello", "World");
Dans le javascript dans la page d'accueil du silverlight ont: -
function someJavascriptFunc(p1, p2)
{
alert(p1 + ' ' + p2);
}
Modifier: Ken est juste ce qui précède est le mauvais sens .
Disons que vous avez cette fonction dans Silverlight: -
string GetStuff(string name)
{
return "Hello " + name;
}
Vous pouvez activer cette fonction à javascript comme ceci: -
HtmlPage.Window.SetProperty("sayHello", new Func<string, string>(GetStuff));
maintenant code javascript peut simplement faire quelque chose comme cela: -
alert(sayHello("Fred"));
Si vous utilisez des événements, en théorie, vous pouvez utiliser AttachEvent t o abonnez-vous aux événements. Ce n'est pas tout à fait la même chose que les rappels, mais c'est proche. Mises en garde: Je n'ai pas testé AttachEvent sur les navigateurs basés sur Mozilla (où la commande JS appropriée est "addEventListener()" plutôt que "attachEvent()"), et j'ai eu du mal à faire fonctionner AttachEvent() fiable même dans IE. J'ai donc toujours utilisé l'attribut [ScriptableMember], et l'ai appelé depuis JS. Y a-t-il une raison pour laquelle vous ne voulez pas utiliser cela? (Je serais curieux d'entendre si quelqu'un a de meilleures idées.)
Mis à jour ma réponse pour être le bon chemin. – AnthonyWJones
- 1. Windows Mobile, comment recevoir des rappels de l'appareil photo?
- 2. iPhone iAd - ne pas recevoir de rappels à didFailToReceiveAdWithError
- 3. Silverlight et rappels dans les threads autres que l'interface utilisateur
- 4. Traitement des rappels
- 5. Comment envoyer et recevoir des fichiers sur l'application Silverlight?
- 6. Recevoir des notifications/recevoir des intentions de déclenchement d'une activité
- 7. Utilisation correcte des rappels Moq selon AAA
- 8. Rappels dans Rails
- 9. php email de masse et des rappels
- 10. Comment placer des rappels de todo dans le code Dreamweaver
- 11. Recevoir des postbacks XML
- 12. rappels de déclenchement ronds
- 13. Pointeurs de fonction et rappels dans C
- 14. Chargement de javascripts dans les rappels ajax
- 15. GServer recevoir des messages
- 16. Création de rappels filés dans XS
- 17. Exécution incomplète des rappels sur jQuery POST
- 18. Comment implémenter des rappels en Java
- 19. comment recevoir des données udp dans android?
- 20. Recevoir des appels manqués dans Windows Mobile
- 21. Rappels de clic de bouton
- 22. Enregistrer des rappels dans un dictionnaire (Objectif C pour l'iPhone)
- 23. Comment connaître la taille des rappels dans ASP.NET AJAX?
- 24. Rappels dynamiques de l'inventaire dynamique
- 25. Recevoir des événements clavier iPhone
- 26. Enveloppe C# et rappels
- 27. recevoir des chaînes via interop
- 28. HtmlUnit et XPath: DOMNode.getByXPath ne fonctionne que sur HtmlPage?
- 29. Rappels avec Scripting Bridge?
- 30. Recevoir et traiter des courriels de .NET
C'est la direction opposée, je pense: de SL à JS. Je pense qu'il veut l'inverse, de JS à SL. –
@Ken: vous avez raison d'oh! – AnthonyWJones
Je n'avais jamais vu cette technique auparavant. Agréable. –