verificar tengo saber que instalado descargar control consola como chrome actualizar activar abrir java asp.net applet version-detection

tengo - ¿Cómo puedo detectar el tiempo de ejecución de Java instalado en un cliente desde un sitio web ASP.NET?



panel de control de java (12)

Esta página describe cómo y enumera algunos complementos que le permitirán detectar Java con JavaScript: http://www.pinlady.net/PluginDetect/JavaDetect.htm

Aparte de eso, prueba este fragmento también:

if (navigator.javaEnabled()) { //Java is enabled }

Tengo un sitio web ASP .NET que aloja un applet de Java. El applet de Java requiere la versión 1.6 Actualización 11 del tiempo de ejecución de Java.

¿Cómo puedo detectar que un cliente tenga el tiempo de ejecución apropiado instalado para que pueda mostrar un mensaje informativo si no lo hacen?

Gracias,

Carl.

EDIT: la solución debe ser independiente de la plataforma.


Copie y pegue en la barra de direcciones de su navegador para verificar:

javascript: alert (navigator.javaEnabled ())

Funciona en Mozilla (FF3) e IE7. (x64)


Mi enfoque sería usar JavaScript navigator.javaEnabled() para verificar si hay alguna versión de Java disponible.

Luego puede usar System.getProperty("java.version") desde dentro de un applet de Java. Eso debería ser suficiente para obtener la información de la versión, como 1.6.0_03 .


Tal vez este script ayudará. Esto es solo para Windows, sin embargo.

<script language=''javascript'' type=''text/javascript''> var javaVersion; var shell; try { // Create WSH(WindowsScriptHost) shell, available on Windows only shell = new ActiveXObject("WScript.Shell"); if (shell != null) { // Read JRE version from Window Registry try { javaVersion = shell.regRead("HKEY_LOCAL_MACHINE//Software//JavaSoft//Java Runtime Environment//"); } catch(e) { // handle exceptions raised by ''shell.regRead(...)'' here // so that the outer try-catch block would receive only // exceptions raised by ''shell = new ActiveXObject(...)'' alert(''error reading registry''); } } } catch(e) { // Creating ActiveX controls thru script is disabled // in InternetExplorer security options // To enable it: // a. Go to the ''Tools --> Internet Options'' menu // b. Select the ''Security'' tab // c. Select zone (Internet/Intranet) // d. Click the ''Custom Level..'' button which will display the // ''Security Settings'' window. // e. Enable the option ''Initialize and script ActiveX controls // not marked as safe'' activeXDisabled = true; } // Check whether we got required (1.6) Java Plugin if ( javaVersion != null && javaVersion.indexOf("1.6")) { pluginDetected = true; alert(''it is installed!'') } if (pluginDetected) { // show applet page } else if (confirm("Java Plugin 1.6 not found")) { // show install page alert(''not found'') } else { // show error page alet(''error'') } </script>


El siguiente enlace detalla los consejos de implementación para aplicaciones Java.

http://java.sun.com/javase/6/docs/technotes/guides/jweb/deployment_advice.html

Citando desde el enlace

Deployment Toolkit Para evitar problemas de compatibilidad con el navegador, Deployment Toolkit ( deployJava.js ) proporciona funciones de JavaScript que generan automáticamente el HTML necesario para implementar applets y aplicaciones Java Web Start. Los desarrolladores deben invocar estas funciones para implementar sus soluciones de manera consistente en varios navegadores.


Si la solución debe ser independiente de la plataforma. Excluiré todas las soluciones provistas por javascript.

Puede escribir un Applet muy simple que soporte por la clásica VM clásica. Deje que el applet detecte la versión de JRE y muestre el mensaje.

Si acepta Javascript, también puede interesarle este artículo sobre el autoinstalador para aplicaciones WebStart.


Si no te importa utilizar un applet básico de Java que requiere una versión mucho más antigua para ejecutarse, puedes utilizar este artículo y continuar en función de ese resultado.


  1. Utilice la función deployJava.js getJREs () para compilar una página dinámica en función de la versión de Java del usuario.

  2. Use http://cowwoc.blogspot.com/2008/12/tracking-java-versions-using-google.html para rastrear la versión de Java que usan los visitantes de su sitio web usando Google Analytics.

  3. Paso de bonificación: utilice el código fuente del paso 2 como ejemplo de cómo debe implementarse el paso 1.


¡Simplemente copie y pegue este código en la barra de direcciones de su navegador! Verifica si es útil para ti.

javascript: for(i = 0; i < navigator.plugins.length; i++) alert(navigator.plugins[i].name);

Necesita obtener la posición de Java en la matriz de complementos y tal vez pueda verificar las versiones con una expresión regular o algo así. Puede echar un vistazo al objeto javascript del complemento.

¡Saludos!



El siguiente enlace fue la forma en que lo hice funcionar. Tiene un JS que puede obtenerse para la implementación de Java. El enlace fue mencionado anteriormente, pero pensé que un ejemplo sería agradable.

Estas son muestras que terminé necesitando para solucionar mi problema.

http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/technotes/guides/jweb/deployment_advice.html#deplToolkit

Una vez que haya descargado el archivo deployJava.js, puede colocar algo para asegurarse de que java esté instalado: if (deployJava.getJREs().length > 0) { //Your code to start java }

Asegúrese de que esté instalada una versión específica: if (deployJava.versionCheck(version)) { //Your version specific code }

Inicie el instalador de la última deployJava.installLatestJava(); Java: deployJava.installLatestJava();

O una versión específica si lo desea: deployJava.installJRE(version);


A pesar de que la mayoría de las respuestas hasta el momento están rodeadas de detección en el agente de usuario (navegador) mismo, parece que por su mención de ASP.NET que desea hacer que esta detección ocurra en el lado del servidor. Si es así, tienes un par de opciones.

Primero puede olfatear los encabezados de solicitud HTTP que provienen del agente de usuario. Una computadora y un navegador con Java instalado generalmente incluirán un encabezado que brinda una pista de esto al servidor que puede retomar. Aquí hay algunos enlaces útiles sobre este enfoque: http://www.developershome.com/wap/detection/ https://metacpan.org/pod/HTTP::Browscap

La otra opción que tiene es enviar javascript al agente de usuario para realizar la detección usando una de las técnicas en las otras respuestas en esta pregunta y luego usar ajax callbacks para decirle al servidor lo que descubrió.