【发布时间】:2010-02-15 18:21:59
【问题描述】:
我正在努力寻找一种使用 jquery 隐藏 java applet () 的方法。
我有一个链接可以打开一个简单的 ajax fancybox (http://fancybox.net) 问题是它总是出现在实际 java 小程序的“后面”。
有没有办法“隐藏”小程序甚至卸载它?我可以在关闭fancybox后重新加载它(基本上是要求用户确认)。
【问题讨论】:
我正在努力寻找一种使用 jquery 隐藏 java applet () 的方法。
我有一个链接可以打开一个简单的 ajax fancybox (http://fancybox.net) 问题是它总是出现在实际 java 小程序的“后面”。
有没有办法“隐藏”小程序甚至卸载它?我可以在关闭fancybox后重新加载它(基本上是要求用户确认)。
【问题讨论】:
你可以移除它的 DOM 对象,或者将它的 CSS 属性设置为隐藏。
jQuery("#applet").remove();
或
jQuery("#applet").hide();
你也可以kill the applet:
<script>
document.MyApplet.killApplet();
</script>
public void killApplet()
{
AccessController.doPrivileged(new PrivilegedAction()
{
public Void run() {
// kill the JVM
System.exit(0);
return null;
}
});
}
但是,这会停止小程序,并在 IE6 中引发 JS 错误
您还可以将小程序大小设置为 (1,1),并在完成后将其设置回来。
jQuery("#applet").height(1).width(1);
【讨论】:
我做的是 $('applet').addClass('hide');
.hide {
position: absolute;
left: -100vw;
}
做 $('applet').removeClass('hide');当你想要它回来时。
所有其他选项将强制重新启动您的小程序。
【讨论】:
试试这样的:
var save=$('#applet').clone();
$('#applet').html('');
当你需要它时
$('#applet').html(save.html());
save=null; //to free this bit of memory
未测试,但我希望它可以工作 ;)
【讨论】: