Newsgroup: it.comp.lang.javascript
Titolo: JavaEnable()

Salve a tutti gli i java scriptisti,
vi è mai capitato di inserire un applet in una pagina html?
Quante segnalazioni avete ricevuto di guasto sulla pagina?
Tante?
Motivo: il browser dell'utente non ha la JVM installata!
Per ovviare al problema delle segnalazioni dei meno esperti ho scritto
qualche riga in javascript per controllare l'effettiva abilitazione del java
del browser dell'utente,
usando sostanzialmente il metodo navigator.javaEnabled() mi pare si scriva
così.
Ma purtroppo almeno Internet Explorer permette di avere il java Enabled
senza avere effettivamente la jvm installata nel browser, conseguenza non
basta utilizzare navigator.javaEnabled() per capire se l'utente ha la jvm
nel browser.
Morale della storia ho arrangiato in un modo tristissimo:
ho messo un applet di test in una pagina che dice sostanzialmente se qui non
appare niente allora non hai la jvm installata nel browser.
C'è qualcuno sa come risolvere in modo più elegante il problema?
Il mio scopo è avvertire l'utente prima di addentrarsi nel sito che non sarà
in grado di vedere le mie applet, o magari discriminare tra gli utenti
Applet-vedenti e Applet non-vedenti.
A presto
   Cristiano

Ciao..
function Java_Browser_Check() {
 var str = navigator.appVersion;
 var txt="";
 if ((ie = str.indexOf("MSIE")) > 0) {
    comma = str.indexOf(";",ie);
    browser = "Microsoft Internet Explorer";
    version = str.substring(ie+4,comma);
    platform = str.substring(comma+1,str.lastIndexOf(")"));
    if (platform.indexOf("Windows 3.1")>0 || platform.indexOf("Windows
3.11")>0) {
      txt="Spiacenti, Java non è supportato dalle versioni di Internet
Explorer per Windows 3.x.";
    }
  }  else {
    par = str.indexOf("(");
    browser = "Netscape Navigator";
    version = str.substring(0,par);
    platform = str.substring(par+1,str.indexOf(")"));
    messy = platform.indexOf("; I");
    if (messy > 0) {
        platform = platform.substring(0,messy)+platform.substring(messy+3);
    }
    if (platform=="Win16") {
      txt="Spiacente, le implementazioni Java full scale non possono girare
su Netscape Navigator per Windows 3.x.";
    } else if ((version.indexOf("b")>0) && (version < "4.04")) {
      txt="Spiacente lei sta utilizzando una versione Beta più vecchia di
Netscape Navigator";
    } else {
      gold = version.indexOf("Gold");
      if (parseInt(gold)>0) {
        version = version.substring(0,gold);
      }
      if ((platform > "lz") && (platform < "mz")) {
         txt="Le implementazioni Java su piattaforma Macintosh sono
notoriamente instabili.";
      }
      if (parseInt(version) < parseInt("3.0")) {
        txt="Mentre il browser Navigator 2.x supporta alcune applet Java,
non supporta le applicazioni full Java.";
      } else {
        if (parseInt(version) < parseInt("3.01")) {
          txt="ATTENZIONE: Il browser Navigator 3.0 ha un problema di memory
leak che lo rende instabile.";
        }
      }
    }
 }
  if(txt!="")
 txt+="\nSi consiglia di scaricare un browser più nuovo che abbia il pieno
supporto di Java."
  else txt="tutto OK... \njava è supportata..ed
javaEnabled="+navigator.javaEnabled();
 alert(txt)
}
da aggiornare!
--
Bye
        Ro<*¿*>berto

Ciao Roberto,
mi sarà utilissimo il tuo script che mi ha datto alcune nuove idee.
Ma purtroppo non risolve il mio problema,
il fatto è che quando un utente installa un browser,
non è detto che installi anche il supporto java.
Ad esempio,
supponiamo installi IE5, se seguirà l'istallazione consigliata non si
troverà il supporto java, nonostante gli apparirà la voce java enabled e che
abbia ad esempio come sistema operativo Win98.
L'utente dovrà scegliere la installazione personalizzata e selezionare la
voce relativa al supporto java,
solo così potrà vedere le apple nel suo browser.
Non sono sicuro che sia sempre così che funzioni ma per un alta statistica
succede questo.
Lunedì proverò sul campo il tuo script ma con tutta probabilità mi
risponderà che il java è supportando anche quando non lo è effettivamente.
A presto
  Cristiano

Non serve Javascript, basta conoscere l'HTML:
<APPLET>
<SCRIPT>
<!--
// -->
</SCRIPT>
</APPLET>
Lo script verrà eseguito se l'applet non viene caricata (cioè se la VM non è
installata o attivata). Ad esempio potresti metterci uno script che ridirige
automaticamente un utente senza Java alla pagina giusta per lui (questo non solo
per la prima ma per tutte le pagine)
