2012-11-06 4 views
3

Je voudrais intégrer un canevas HTML5 dans mon application C# WinForms. Jusqu'à présent, j'ai trouvé le projet CefSharp qui semble bien faire le travail mais j'ai du mal à le faire exécuter du code HTML contenant des appels javascript.C# embedding canvas HTML5, lancer javascript (localement)

Voici un exemple de HTML, je voudrais courir dans la toile:

<!DOCTYPE html> 
<script src="processing.js"></script> 
<canvas data-processing-sources="example.pde"></canvas> 

L'objectif final de cet exercice est d'exécuter Processing.js de l'application au niveau local.

Est-il possible d'exécuter javascript localement dans CefSharp en fournissant le HTML au canevas? Si oui, quel est le moyen le plus facile de s'y prendre? Ce n'est pas une application ASP.NET.

CefSharp possède des méthodes ExecuteScript, EvaluateScript et RegisterJsObject mais ne sait pas si celles-ci peuvent être utilisées. Je suis un développeur unique, ceci est hors de mon domaine d'expertise habituel.


Je vais aussi ajouter des choses que j'ai découvert au cas où quelqu'un voudrait faire d'autres commentaires ou apporter des précisions:

  1. chrome (CefSharp est un wrapper C#) a une politique de sécurité en place qui peut empêcher les fichiers locaux d'être utilisés. Je ne suis pas sûr si cela peut être annulé dans CefSharp.
+0

Si vous utilisez l'application Winforms. quel est l'avantage d'utiliser la toile, n'y at-il pas plus d'options natives? Sauf si vous voulez avoir des versions locales et en ligne? #JustAsking –

Répondre

0

Peut-être this example peut vous aider. Il exécute du javascript.

Edit: Voici l'exemple de code:

var script = String.Format(
    "document.body.style.background = '{0}'", 
    colors[color_index++] 
); 
if (color_index >= colors.Length) 
{ 
    color_index = 0; 
} 
view.ExecuteScript(script); 
+1

Notez que les réponses [link-only] (http://meta.stackoverflow.com/tags/link-only-answers/info) sont déconseillées, les réponses SO devraient être l'aboutissement d'une recherche de solution (vs encore une autre escale de références, qui ont tendance à se figer au fil du temps). S'il vous plaît envisager d'ajouter un synopsis autonome ici, en gardant le lien comme référence. – kleopatra