2009-07-24 4 views
5

auf der Suche nach einer JavaScript-Klasse wie swfobject zum Einbetten von Java und haben eine einfache Fallback, wenn der Benutzer nicht Java oder lehnt die Sicherheitsabfrage ab.Java-Entsprechung von swfobject

Dank,

Josh

Antwort

6

Sie könnten eine ziemlich einfach bauen.

Haben Sie etwas wie ein div wie folgt aufgebaut:

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

Dann Java Plugin Detection (builder) zu Ihrem JavaScript hinzuzufügen. Dann, wenn das wahr zurückgibt, dann so etwas wie:

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

einbetten einfach das Applet wie Sie normalerweise tun, und legen Sie den Fehler innerhalb oder ein Javascript-Schnipsel einfügen, das Objekt zu entfernen: Neben param können Sie weitere Elemente hinzufügen, z.B Absätze mit Text oder Javascript, die eine Funktion aufrufen, um das Objekt zu ersetzen.

0

Dies hilft!

Ich habe ein sehr seltsames Problem bei der Verwendung Applet Batch-Datei Download von der Server-Seite zu tun.

Die Ajax-Anforderung scheint Konflikt mit Applet-Anforderung, das Herunterladen der Applet-Datei mit einigen Socket-Ausnahme unterbrochen.

Das Applet funktioniert gut unter JRE5.0, könnte es durch unsere jüngste Aktualisierung auf JRE6.0 verursacht werden.

<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>