2008-09-23 16 views
10

Geçerli tarayıcıda belirli bir silverlight sürümünün yüklü olup olmadığını algılamak için kullanabileceğim bir javascript işlevi var mı?Silverlight'ın yüklü olup olmadığını javascript ile algılama

Özellikle Silverlight 2 Beta 2 sürümü ile ilgileniyorum. Silverlight eklentisinin yüklenmemesi durumunda gösterilen gümüş ışığı kontrolünün arkasında bir görüntüye sahip varsayılan yöntemi kullanmak istemiyorum.

Düzenleme: Kabul cevap verilen bağlantısından:

Silverlight.isInstalled("2.0"); 
+2

Küçük sürümü belirtmeniz gerektiğini unutmayın (".0"). Silverlight.isInstalled ("2") 'yi denemek Firefox'ta çalışır, ancak IE'de çalışmaz. – Husky

+0

@Husky '.0' içinde koymak için hiçbir neden yoktur, IE çalışır ve' .1 'gibi istemci makinede yüklü herhangi bir gümüş alt sürümleri test etmek için hala test ederken gerçek dönecektir .0 ' – Blowsie

cevap

0
var hasSilverlight = Boolean(window.Silverlight); 

var hasSilverlight2 = hasSilverlight && Silverlight.isInstalled('2.0'); 

Vs ....

+0

' Boolean (window.Silverlight) 'sadece, Silverlight eklentisi değil, sayfadaki Javascript kütüphanesinin varlığını kontrol eder. –

9

aslında son güncellemeler için http://code.msdn.microsoft.com/silverlightjs mevcut olan en son komut dosyası kullanın. Bunun içinde birkaç düzeltme var.

+0

Artık en son ve aslında "emekli oldu". –

+0

@JoeMabel, emekli olmayan bir senaryonun nerede olduğunu bilerek nasıl bir şans? – Peter

+0

Afraid değil. Bunu şimdi yapmak için tercih edilen yolun ne olacağını bilmiyorum. –

0
 if (Silverlight.isInstalled("1.0")) { 
      try { 
       alert("Silverlight Version 1.0 or above is installed"); 
      } 
      catch (err) { 
       alert(err.Description); 
      } 
     } 
     else { 
      alert("No Silverlight is installed"); 
     } 

.

Silverlight.isInstalled her zaman doğrudur; bu nedenle, yararlı olması için "1.0" gibi bir sürüm dizesi sağlanmalıdır.

+0

«Silverlight.isInstalled her zaman doğrudur» Bu doğru değil. Silverlight kullanmıyorum, ancak SDK içeren bir web sitesinde 'Silverlight.isInstalled()' 'false'ı doğru bir şekilde döndürür. –

İlgili konular