Bonjour,
J'ai un problème avec IE (version 7, j'ai pas testé sous IE6 pour cause de Vista) :
J'ai une page HTML avec une détection de java via JavaScript :
Là est le premier bug (mais c'est pas le plus grave) : Ce code renvoi TOUJOURS true sous IE (et Safari, mais c'est pas grave non plus, car le navigateur ne crash pas)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if(navigator.javaEnabled()){ alert("dispo !"); }
Quand je vois que Java est disponible, je cherche la version. Or, sous IE, il faut instancier un applet qui proposeras une méthode permettant de récupérer la version.
Voici donc mon applet :
Rien de bien sorcier ni de tarabiscoté.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 import java.applet.*; import java.awt.Graphics; public class JavaTest extends Applet { @Override public void init(){ //code d'initialistaion } @Override public void start(){ //code de d'éxécution } @Override public void stop(){ //code de suspension de l'execution } @Override public void paint(Graphics g){ } @Override public void destroy(){ //code de terminaison } @Override public String getAppletInfo(){ return System.getProperty("java.version"); } public String getJavaVersion(){ return System.getProperty("java.version"); } }
Mais voilà le problème : l'appel à cet applet fait planter mon IE. je n'ai même pas de page avec une erreur ou quoi que ce soit, c'est le gros crash avec redémarrage proposé.
La console Java : vide, pas d'erreur...
Par contre, le code fonctionne parfaitement si j'ai une VM installé...
Vous l'aurrez compris, ce que je cherche à faire c'est :
- Détecter Java
- Vérifier la version
- Si la personne a Java < 1.5 dans ce cas, je lui propose le téléchargement
Si quelqu'un sait pourquoi mon navigateur plante ou si il y a une autre manière de procéder, je suis prenneur
Merci d'avance
Partager