【发布时间】:2009-12-01 17:59:25
【问题描述】:
我在页面中嵌入了两个 Silverlight 实例,如下所示(内容仅简化为相关细节):-
<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>
正如您所见,objects 都指向同一个 xap,但 initParams 中的内容不同。
但请注意,onload 参数指向 same 函数名称。这个问题的这个特定部分是不变的。
我在全局级别的 javascript 中的其他地方:-
function silverlight_onload(sender, eventargs)
{
//Magic pixie dust here
}
目标是获取sender 并确定哪些对象元素是事件的来源。直截了当(但出于这个问题不可接受的原因)的答案是使用两个不同的功能。我正在寻找不需要将新函数添加到每个 SL 对象的全局命名空间的东西。
奖金,感谢任何能告诉我为什么 SL 无法从主机浏览器获得更多帮助并更像其他元素事件(如 onlick)处理 onload 参数的人。例如向浏览器询问eval("function() {" + onload + "}" 并将返回函数附加到onload 事件中。
【问题讨论】:
标签: javascript silverlight silverlight-3.0 onload