我有嵌入在網頁在兩次Silverlight的情況下,像如下(內容simplfied只有相關的細節): -Silverlight 3的onload事件綁定多個實例
<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>
正如你可以在同一XAP看到兩個objects
點,但initParams中會有不同的內容。
但是請注意,onload param指向相同的函數名稱。這個問題的這種特殊的部分是不變。
其他地方的JavaScript在全球範圍內,我有: -
function silverlight_onload(sender, eventargs)
{
//Magic pixie dust here
}
的目標是採取sender
,並確定哪些對象元素的是事件的源頭。直截了當(但爲了這個問題不可接受)的答案將是使用兩種不同的功能。我正在尋找一些不需要將新功能添加到每個SL對象的全局名稱空間的東西。
獎金,榮譽去的人誰可以告訴我爲什麼SL無法從主機瀏覽器多一點幫助和處理的onload參數更喜歡像其他點擊數元素的事件。例如,讓瀏覽器訪問eval("function() {" + onload + "}"
並將返回函數附加到onload事件。
getHost()就是我所追求的,它會返回託管當前運行事件的插件的特定對象元素。因此,我可以使用它來將程序流引導到元素的正確代碼。 – AnthonyWJones 2009-09-29 15:37:14