javaを埋め込むためのswfobjectのようなjavascriptクラスを探していて、ユーザーがjavaを持っていないか、セキュリティプロンプトを拒否している場合、単純なフォールバックがあります。java相当のswfobject
おかげで、
ジョシュ
javaを埋め込むためのswfobjectのようなjavascriptクラスを探していて、ユーザーがjavaを持っていないか、セキュリティプロンプトを拒否している場合、単純なフォールバックがあります。java相当のswfobject
おかげで、
ジョシュ
非常に簡単に作成できます。
<div id="java-applet">
Message to user saying that they need Java here
</div>
次に、あなたのJavaScriptにJava Plugin Detection(builder)を追加します。
はdiv要素は次のように設定するようなものがあります。それがtrueを返した場合次に、そのようなものです:あなたが正常に行うと内部のフォールバックを挿入したり、オブジェクトを削除するにはJavaScriptスニペットを挿入するよう
document.getElementById("java-applet").innerHTML = "<applet>stuff here</applet>";
appletobjectは仕事かもしれないが、私はそれを使用していません。
ちょうどアプレットを埋め込む: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>
これは役に立ちます。
アプレットを使用してサーバー側からバッチファイルをダウンロードする際に、私は非常に奇妙な問題が発生しました。
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>