2009-07-24 24 views
5

javaを埋め込むためのswfobjectのようなjavascriptクラスを探していて、ユーザーがjavaを持っていないか、セキュリティプロンプトを拒否している場合、単純なフォールバックがあります。java相当のswfobject

おかげで、

ジョシュ

答えて

6

非常に簡単に作成できます。

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

次に、あなたのJavaScriptにJava Plugin Detectionbuilder)を追加します。

はdiv要素は次のように設定するようなものがあります。それがtrueを返した場合次に、そのようなものです:あなたが正常に行うと内部のフォールバックを挿入したり、オブジェクトを削除するにはJavaScriptスニペットを挿入するよう

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

ちょうどアプレットを埋め込む:PARAMのほかに、あなたは他の要素を追加することができ、例えばテキストやjavascriptの段落は、オブジェクトを置き換える関数を呼び出します。

<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

これは役に立ちます。

アプレットを使用してサーバー側からバッチファイルをダウンロードする際に、私は非常に奇妙な問題が発生しました。

Ajax要求がアプレット要求と競合しているようで、アプレットファイルのダウンロード中にソケット例外が発生して割り込みが発生しました。

アプレットはJRE5.0で正常に動作しますが、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>