2010-09-02 26 views
5

Üzerinde bir silverlight uygulaması olan bir sayfam var. Sayfamda gömülü olan, Silverlight uygulamasının tüm web hizmeti isteklerini gerçekleştirmesi gereken bir kimlik doğrulama anahtarıdır. Bu nedenle, silverlight uygulaması, anahtarı almak ve bir WCF hizmetine ilk bağlantı yapmak için ihtiyaç duyar. Sorun, sayfanın veya silverlight'ın ilk önce yüklenip yüklenemeyeceğinin çok tahmin edilemez olmasıdır, bu yüzden onload = event sayfalarını kullanamıyorum çünkü bazen silverlight boştur ve silverlights'ı kullanmaya başlayamıyorum çünkü bazen js işlevi henüz tanımlanmamıştır - Sanırım, sayfanın, SL'yi yükleyen ve yalnızca JS'yi ayrıştırarak önbelleğe yüklediği anlamına gelir.Silverlight ve Javascript etkileşimi

Teşekkürler. Aşağıdaki bir JS yöntemi çağırmak ve kullanarak dönüş değeri elde etmek Silverlight birlikte çalışma alabilirsiniz

cevap

1

:

myJSMethod gömülü anahtarı döndürür
// Returning a String 
string stringValue = (string)HtmlPage.Window.Invoke("myJSMethod"); 

. Ama yine de anahtarı gömüyorsanız, neden sadece <object><param> s içine girmiyorsunuz?

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> 
    <param name="myKey" value="myKeyValue"/> 
    ... 
</object> 
+2

Bir param içine gömülmesi hakkında harika bir öneri. Bir nokta, Object kullanmak yerine, Silverlight denetimini Silverlight.js'de Silverlight.createObject çağrısıyla başlatır. Statik Nesne etiketlerinden çok daha sıkı kontrol sağlar. –