我的任务是使用支持加密功能的隐藏签名小程序。必须动态加载Applet。
我尝试使用这个示例:(没有链接,只需从Oracle网站打开第一个谷歌搜索结果)“从JavaScript调用Applet方法”。问题是当使用“deployJava.js”加载和部署applet时,ZK窗口正在消失。
我的代码是:
function loadScript(url, callback)
{
// Adding the script tag to the head as suggested before
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
// Then bind the event to the callback function.
// There are several events for cross browser compatibility.
script.onreadystatechange = callback;
script.onload = callback;
// Fire the loading
head.appendChild(script);
callback();
}
function startApplet() {
var invokeApplet = function () {
var attributes = { id:'cryptoApplet', code:'CryptoApplet', width:1, height:1} ;
var parameters = { jar: 'clientcrypto.jar'} ;
deployJava.runApplet(attributes, parameters, '1.7');
};
loadScript("/js/deployJava.js", invokeApplet);
}
答案 0 :(得分:0)
发生此问题是因为deployJava.js使用“document.write(applet tag)”来添加applet。 我将div组件添加到width =“1”,height =“1”的页面,并重写deployJava.js以在该div中追加applet。它起作用了。