IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

Echange Silverlight javascript


Sujet :

Silverlight

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut Echange Silverlight javascript
    Bonjour,
    j'essaye de communiquer entre silverlight et javascript.
    Dans une application silverlight, j'ai un composant qui s'occupe d'ouvrir une iframe et de la poser par dessus l'application.
    Depuis cette iframe j'ai une page HTML contenant du javascript. C'est cette page qui doit communiquer avec mon silverlight.
    Voici le code contenant l'application silverlight:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <div id="silverlightControlHost">
            <object id="slControl" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
    		  <param name="source" value="ClientBin/GeoSLAppIB.xap"/>
    		  <param name="onError" value="onSilverlightError" />
    		  <param name="background" value="white" />
    		  <param name="minRuntimeVersion" value="4.0.50401.0" />
    		  <param name="autoUpgrade" value="true" />
              <param name="windowless" value="true" />
    		  <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none">
     			  <img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
    		  </a>
    	    </object><iframe id="_sl_historyFrame" style="height:0px;width:0px;border:0px"></iframe></div>
    L'application silverlight:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public GeoSLAppIB()
            {
                InitializeComponent();
     
    ....
                HtmlPage.RegisterScriptableObject("SLApp", this);
     
     
            }
            [ScriptableMember]
            public void TestJS(string message)
            {
                MessageBox.Show(message);
            }
    La page html que j'ouvre dans l'iframe depuis silverlight:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     function AppelSilverlight(message) {
                var sl= parent.document.getElementById("slControl");
     
                if (sl != null) {
                    alert(sl.Content);
                }
                else
                    alert("slControl introuvable");
     
            }
    sl.Content me retourne "undefined" ! Du coup je ne peux pas acceder a ma fonction...

    J'avais déjà fait fonctionné un code similaire, et la après avoir passé la matiné a chercher, je sèche completement!
    Des idées?
    Merci!

    Edit: Hum je viens de me rendre compte que ca fonctionne très bien sous IE 7 mais pas sous le 8! Pourtant rien d'officiel sur le site msdn, c'est toujours la même méthode qu'il préconise -_-.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 056
    Par défaut
    Hum finalement j'ai pu tester egalement sur une autre machine IE8...
    Ca semble venir de ma machine! Je vais donc desintall IE8 pour tester


    Edit: La reinstallation de Silverlight a suffit ... Va savoir pourquoi le plugin ne générai pas de " Content" dans la balise object du html .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Appeler méthode Silverlight depuis javascript
    Par Mozofeuk dans le forum Silverlight
    Réponses: 2
    Dernier message: 29/07/2009, 11h38
  2. Silverlight + Ajax (Javascript)
    Par cyberbobby dans le forum Silverlight
    Réponses: 8
    Dernier message: 23/05/2009, 09h57
  3. Javascript + Silverlight, ajout d'element
    Par junix dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/11/2008, 16h15
  4. API Javascript + Silverlight
    Par Mozofeuk dans le forum Silverlight
    Réponses: 6
    Dernier message: 23/10/2008, 10h32
  5. [PHP/JS] echange de données php/javascript
    Par nicoaix dans le forum Langage
    Réponses: 23
    Dernier message: 22/12/2005, 13h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo