2008-09-23 6 views
10

Y at-il une fonction javascript que je peux utiliser pour détecter si une version Silverlight spécifique est installée dans le navigateur actuel?Détecter via javascript si Silverlight est installé

Je suis particulièrement intéressé par la version Silverlight 2 Beta 2. Je ne veux pas utiliser la méthode par défaut d'avoir une image derrière le contrôle silverlight qui est juste affiché si le plugin Silverlight ne se charge pas.

Edit: De lien fourni en réponse acceptée:

Inclure Silverlight.js (de Silverlight SDK)

Silverlight.isInstalled("2.0"); 
+2

Notez que vous devez spécifier la version mineure (".0"). Essayer 'Silverlight.isInstalled (" 2 ")' fonctionne dans Firefox, mais ne fonctionne pas dans IE. – Husky

+0

@Husky il n'y a aucune raison de ne pas mettre le '.0' dedans, car il le fera fonctionner dans IE et toutes les sous-versions silverlight installées sur la machine du client comme' .1' retourneront toujours vrai lors du test de '.0 ' – Blowsie

Répondre

0
var hasSilverlight = Boolean(window.Silverlight); 

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

Etc ....

+0

' Boolean (window.Silverlight) 'vérifie simplement la présence de la bibliothèque Javascript sur la page, pas le plugin Silverlight. –

9

S'il vous plaît utiliser effectivement le dernier script disponibles à http://code.msdn.microsoft.com/silverlightjs pour les dernières mises à jour. Cela a plusieurs correctifs.

+0

Ce n'est plus le dernier et, en fait, a été "retiré". –

+0

@JoeMabel est-ce que vous savez où un script n'a pas été retiré? – Peter

+0

Peur pas. Je ne sais pas quelle serait la meilleure façon de le faire maintenant. –

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"); 
     } 

de cette video. Silverlight.isInstalled est toujours vrai, donc une chaîne de version telle que "1.0" doit être fournie pour la rendre utile.

+0

«Silverlight.isInstalled est toujours vrai» Ce n'est pas correct. Je n'utilise pas Silverlight, mais sur un site Web qui inclut le SDK, 'Silverlight.isInstalled()' renvoie correctement 'false'. –

Questions connexes