Detección de versión con Silverlight
browser ria (6)
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 la publicación en:
¡Buena suerte!
¿Cómo puedo detectar eficiente y efectivamente la versión y, para el caso, cualquier información disponible sobre la instancia de Silverlight que se está ejecutando actualmente en el navegador?
El control de Silverlight solo tiene una función IsVersionSupported , que devuelve verdadero / falso cuando le das 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 desee al verificar la compilación, ya que la cadena de versión puede incluir todo lo siguiente:
- mayor - el número principal
- menor - el número menor
- construir - el número de compilación
- revisión - el número de revisión
Entonces podemos verificar un número de compilación específico 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 incluía una propiedad control.settings.version, que se reemplazó por el método isVersionSupported () . La idea es que no debas programar contra versiones específicas de Silverlight. Por el contrario, debería verificar si el cliente tiene al menos la versión 1.0 o 2.0, etc.
Una vez dicho esto, puedes obtener el número de versión de Silverlight en Firefox al consultar la descripción del complemento 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. Presumiblemente, eso es lo que hace BrowserHawk : informarán qué versión de Silverlight ha instalado el cliente.
Environment.Version hará lo que quieras! Compatible desde Silverlight 2.0
Mira en silverlight.js:
Obtuve esto de http://forums.asp.net/p/1135746/1997617.aspx#1997617 que es el mismo enlace que Stu te 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
};
encontré este sitio que detecta la versión completa de Silverlight- Silverlight versión (también conocido como silverlightversion.com)