2008-09-23 9 views
10

¿Existe una función de javascript que pueda usarse para detectar si hay una versión Silverlight específica instalada en el navegador actual?Detectar a través de javascript si Silverlight está instalado

Estoy particularmente interesado en la versión Silverlight 2 Beta 2. No quiero usar el método predeterminado de tener una imagen detrás del control Silverlight que se muestra si el complemento de Silverlight no se carga.

Editar: De enlace proporcionado en respuesta aceptada:

Incluir Silverlight.js (de Silverlight SDK)

Silverlight.isInstalled("2.0"); 
+2

Tenga en cuenta que debe especificar la versión secundaria (".0"). Probar 'Silverlight.isInstalled (" 2 ")' funciona en Firefox, pero no funciona en IE. – Husky

+0

@Husky no hay ninguna razón para no incluir el '.0', ya que lo hará funcionar en IE y cualquier sub versión silverlight instalada en la máquina del cliente como' .1' seguirá siendo verdadera al probar '.0 ' – Blowsie

Respuesta

0
var hasSilverlight = Boolean(window.Silverlight); 

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

etc ....

+0

' Boolean (window.Silverlight) 'simplemente comprueba la presencia de la biblioteca Javascript en la página, no el plugin Silverlight. –

9

Utilice realidad la última secuencia de comandos disponibles en http://code.msdn.microsoft.com/silverlightjs para las últimas actualizaciones. Esto tiene varias correcciones.

+0

Eso ya no es lo último y, de hecho, ha sido "retirado". –

+0

@JoeMabel ¿hay alguna posibilidad de que sepa dónde se puede encontrar un script que no esté retirado? – Peter

+0

Miedo no. No sé cuál sería la forma preferida de hacer esto ahora. –

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 esta video.

Silverlight.isInstalled es siempre cierto, por lo que se debe proporcionar una cadena de versión como "1.0" para que sea útil.

+0

«Silverlight.isInstalled siempre es cierto» Esto no es correcto. No uso Silverlight, pero en un sitio web que incluye el SDK, 'Silverlight.isInstalled()' devuelve correctamente 'false'. –

Cuestiones relacionadas