2009-07-24 7 views
5

recherche d'une classe javascript comme swfobject pour embarquer java et avoir un simple repli si l'utilisateur n'a pas java ou refuse l'invite de sécurité.java équivalent de swfobject

grâce,

Josh

Répondre

6

Vous pourriez en construire un assez facilement.

quelque chose comme un div mis en place comme ceci:

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

ajouter ensuite Java Plugin Detection (builder) à votre JavaScript. Ensuite, si cela retourne vrai, faire quelque chose comme:

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

intégrer simplement l'applet comme vous le faites normalement et insérez le repli à l'intérieur ou insérer un extrait javascript pour supprimer l'objet: En plus param, vous pouvez ajouter d'autres éléments, par exemple paragraphes avec du texte ou javascript appelant une fonction pour remplacer l'objet.

<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

Cela aide!

J'ai eu un problème très étrange lors de l'utilisation de l'applet pour le téléchargement de fichiers par lots du côté serveur. La requête Ajax semble être en conflit avec la requête de l'applet, le téléchargement du fichier de l'applet étant interrompu avec une exception de socket. L'applet fonctionne correctement sous JRE5.0, il peut être provoqué par notre récente mise à niveau vers JRE6.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>