2009-07-24 36 views
5

tìm kiếm một lớp javascript như swfobject để nhúng java và có một dự phòng đơn giản nếu người dùng không có java hoặc từ chối lời nhắc bảo mật.java tương đương swfobject

cảm ơn,

Josh

Trả lời

6

Bạn có thể tạo một tài khoản khá dễ dàng.

Có một cái gì đó giống như một div thiết lập như thế này:

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

Sau đó thêm Java Plugin Detection (builder) để JavaScript. Sau đó, nếu mà trả về true, sau đó làm một cái gì đó như:

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

Chỉ cần nhúng applet như bạn thường làm và chèn dự phòng bên trong hoặc chèn một đoạn mã javascript để loại bỏ các đối tượng: Bên cạnh param, bạn có thể thêm các yếu tố khác, ví dụ đoạn văn bản hoặc javascript gọi một số chức năng để thay thế đối tượng.

<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

Điều này giúp ích!

Tôi gặp sự cố rất lạ khi sử dụng applet để thực hiện tải xuống tệp hàng loạt từ phía máy chủ.

Yêu cầu Ajax có vẻ xung đột với yêu cầu applet, tệp tải xuống tệp applet bị gián đoạn với một số ngoại lệ ổ cắm.

Ứng dụng này hoạt động tốt dưới JRE5.0, có thể do bản nâng cấp gần đây của chúng tôi lên 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>