J'ai deux cas silverlight intégrés dans une page comme suit (le contenu SIMPLIFIÉE aux détails pertinents seulement): -Silverlight 3 événements onload liant plusieurs instances
<object id="SL1" data="data:application/x-silverlight-2," type="application/x-silverlight-2">
<param name="source" value="/clientBin/Common.xap"></param>
<param name="minRuntimeVersion" value="3.0.40624.0"></param>
<param name="windowless" value="True"></param>
<param name="onload" value="silverlight_onload"></param>
<param name="initParams" value="some configuration here"></param>
</object>
<object id="SL2" data="data:application/x-silverlight-2," type="application/x-silverlight-2">
<param name="source" value="/clientBin/Common.xap"></param>
<param name="minRuntimeVersion" value="3.0.40624.0"></param>
<param name="windowless" value="True"></param>
<param name="onload" value="silverlight_onload"></param>
<param name="initParams" value="a different configuration here"></param>
</object>
Comme vous pouvez le voir à la fois le point objects
au même xap mais aura un contenu différent dans les initParams.
Notez cependant que le paramètre onload pointe sur le nom de la fonction. Cette partie particulière de cette question est invariant.
Ailleurs en javascript au niveau mondial, j'ai: -
function silverlight_onload(sender, eventargs)
{
//Magic pixie dust here
}
L'objectif est de prendre le sender
et déterminer lequel des éléments d'objet est la source de l'événement. La réponse simple (mais pour la raison de cette question inacceptable) serait d'utiliser deux fonctions différentes. Je cherche quelque chose qui ne nécessite pas qu'une nouvelle fonction soit ajoutée à l'espace de noms global par objet SL. En prime, félicitations à tous ceux qui peuvent me dire pourquoi SL n'a pas pu obtenir plus d'aide du navigateur de l'hôte et gérer le paramètre onload plus comme d'autres événements d'éléments comme onlick. Par exemple demander au navigateur eval("function() {" + onload + "}"
et attacher la fonction de retour à l'événement onload.
getHost() est ce que je suis après, il retourne l'élément d'objet spécifique hébergeant le plugin en cours d'exécution de l'événement. Je peux donc l'utiliser pour diriger le flux du programme vers le code correct pour l'élément. – AnthonyWJones