2009-07-24 17 views
5

szukający klasy javascript, takiej jak swfobject, do osadzania java i prostego zastępczego, jeśli użytkownik nie ma java lub odmawia zgłoszenia bezpieczeństwa.odpowiednik java swfobject

Dzięki,

Josh

Odpowiedz

6

Można go łatwo zbudować.

mieć coś podobnego div skonfigurować tak:

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

następnie dodać Java Plugin Detection (builder) do JavaScript. Następnie, jeśli to zwraca wartość true, a następnie zrobić coś takiego:

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

Wystarczy umieścić aplet jak zwykle zrobić i włożyć fallback wewnątrz lub wstawić fragment kodu JavaScript, aby usunąć obiekt: Poza tym param, można dodać inne elementy, na przykład akapity z tekstem lub javascript wywołujące jakąś funkcję, aby zastąpić obiekt.

<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

To pomaga!

Mam bardzo dziwny problem podczas korzystania z apletu do pobierania pliku wsadowego od strony serwera.

Żądanie Ajax wydaje się być w konflikcie z żądaniem apletu, pobieranie pliku apletu jest przerywane z pewnym wyjątkiem gniazda.

Aplet działa prawidłowo pod JRE5.0, może to być spowodowane przez naszą ostatnią aktualizację do 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>