2009-07-24 5 views
5

cercando una classe javascript come swfobject per incorporare java e avere un semplice fallback se l'utente non ha java o rifiuta il prompt di sicurezza.java equivalente di swfobject

grazie,

Josh

risposta

6

Si potrebbe costruire abbastanza facilmente.

avere qualcosa come un div impostato in questo modo:

<div id="java-applet"> 
Message to user saying that they need Java here 
</div> 

Quindi aggiungere Java Plugin Detection (builder) per il tuo JavaScript. Poi se questo restituisce true, quindi fare qualcosa di simile:

document.getElementById("java-applet").innerHTML = "<applet>stuff here</applet>"; 
2

Basta incorporare l'applet come si fa normalmente e inserisce il fallback all'interno o si inserisce un frammento javascript per rimuovere l'oggetto: Oltre param, è possibile aggiungere altri elementi, per esempio paragrafi con testo o javascript che chiamano alcune funzioni per sostituire l'oggetto.

<script type="text/javascript"> 
    function replace_object(x) { 
    $(x)... 
    } 
</script> 
<object x="y" id="some_applet"> 
    <param name="y" value="z"> 
    <p>java not available. some alternative here. <!-- option 1 --></p> 
    <script type="text/javascript"> 
    replace_object('some_applet'); // option 2 
    </script> 
</object> 
0

Questo aiuta!

Ho riscontrato un problema molto strano durante l'utilizzo dell'applet per eseguire il download di file batch dal lato server.

La richiesta Ajax sembra in conflitto con la richiesta di applet, il download del file di applet interrotto con qualche eccezione di socket.

L'applet funziona correttamente con JRE5.0, potrebbe essere causato dal nostro recente aggiornamento a JRE 6.0.

<div id="java-applet"></div> 
<script> 
    var t; 
    function startApplet() { 
     var attributes = {codebase:'<%=request.getContextPath()%>', 
          code:'<%=appletClass%>', 
          archive:'applet/SignedApplet.jar', 
          width:0, 
          height:0} ; 
     var parameters = {para1:'value1', 
          para2:'value2', 
          java_arguments:'-Xms64m -Xmx512m' 
     } ; 
     var version = '1.6' ; 
     var buildAppletTag = function() { 
      var tag = '<applet'; 
      for (var attribute in attributes){ 
       tag += (' ' + attribute + '="' + attributes[attribute] + '"'); 
      } 
      tag += ">"; 
      for (var parameter in parameters){ 
       tag += '<param name="' + parameter + '" value="' + parameters[parameter] + '"/>'; 
      } 
      tag += '</applet>'; 
      return tag; 
     }; 
     document.getElementById("java-applet").innerHTML = buildAppletTag(attributes, parameters, version); 
     clearTimeout(t); 
    } 
    t = setTimeout("startApplet()", 1000); // delayed 
</script>