2008-08-21 14 views

Respuesta

7

El control Silverlight solamente tiene un IsVersionSupported function, que devuelve verdadero/falso cuando se le da un número de versión, por ejemplo:

if(slPlugin.isVersionSupported("2.0")) { 
    alert("I haz some flavour of Silverlight 2"); 

Puede ser tan específico como usted desea al comprobar la acumulación, ya que la cadena de versión puede incluir todo lo siguiente:

  • importante - el número importante
  • menor - el número menor
  • construcción - el número de compilación
  • revisión - el número de revisión

para que podamos comprobar si hay un número de compilación específica de la siguiente manera:

if(slPlugin.isVersionSupported("2.0.30523")) { 
    alert("I haz Silverlight 2.0.30523, but could be any revision."); 

Silverlight 1.0 Beta included a control.settings.version property, which was replaced with the isVersionSupported() method. La idea es que no debas programar contra versiones específicas de Silverlight. Más bien, se debe comprobar si el cliente tiene al menos versión alemana 1.0 o 2.0, etc.

Dicho esto, se puede obtener el número de versión de Silverlight en Firefox mediante la comprobación de la descripción plugin de Silverlight:

alert(navigator.plugins["Silverlight Plug-In"].description); 

Muestra '2.0.30523.8' en mi computadora.

Tenga en cuenta que es posible aplicar fuerza bruta iterando a través de todos los números de versión lanzados. Presumably that's what BrowserHawk does - informarán qué versión de Silverlight ha instalado el cliente.

2

llegué esto desde http://forums.asp.net/p/1135746/1997617.aspx#1997617 que es el mismo enlace Stu le dio. Acabo de incluir el fragmento de código.

Silverlight.isInstalled = function(d) 
{ 
    var c = false, a = null; 
    try 
    { 
     var b = null; 
     if(Silverlight.ua.Browser == "MSIE") 
      b = new ActiveXObject("AgControl.AgControl"); 
     else 
      if(navigator.plugins["Silverlight Plug-In"]) 
      { 
       a = document.createElement("div"); 
       document.body.appendChild(a); 
       a.innerHTML = '<embed type="application/x-silverlight" />'; 
       b = a.childNodes[0] 
      } 

     if(b.IsVersionSupported(d)) 
      c = true; 
     b = null; 
     Silverlight.available = true 
    } 
    catch(e) 
    { 
     c=false 
    } 

    if(a) 
     document.body.removeChild(a); 
    return c 
}; 
1

Como se menciona en los comentarios anteriores, actualmente no existe una forma directa y eficiente de obtener el número de versión de Silverlight instalado (que funciona en la plataforma de navegador múltiple).

Escribí una publicación sobre cómo solucionar este problema y detectar el número de versión principal de Silverlight (incluida la versión 3) mediante programación y de manera más eficiente mediante JavaScript.

Puede encontrar el código y el puesto de:

http://www.apijunkie.com/APIJunkie/blog/post/2009/04/How-to-programmatically-detect-Silverlight-version.aspx

Buena suerte!

2

encontré este sitio que detecta la versión completa de silverlight- silverlight version (también conocido como silverlightversion.com)

+0

solo fyi, esta solución encuentra realmente el número de versión exacto del complemento instalado. –

1

Medio Ambiente.¡La versión hará lo que quieras! Compatible desde Silverlight 2.0

Cuestiones relacionadas