使用jQuery隐藏Java applet?可能吗?

4
我正在努力寻找一种使用jquery隐藏Java小程序()的方法。
我有一个链接,打开一个简单的ajax fancybox (http://fancybox.net),问题是它总是出现在实际Java小程序的“后面”。
有没有一种方法可以“隐藏”小程序或甚至卸载它?我可以在关闭fancybox后重新加载它(基本上要求用户确认)。
3个回答

5
我所做的是$('applet').addClass('hide');
.hide {
  position: absolute;
  left: -100vw;
}

当你想要显示它时,执行$('applet').removeClass('hide')操作。
其他选项将强制重新启动你的小程序。

5
你可以移除它的DOM对象,或将它的CSS属性设置为隐藏。
jQuery("#applet").remove();

或者

jQuery("#applet").hide();

您也可以通过以下方式终止小程序
 <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 id="myapplet">,然后 $("#myapplet").hide() 可以工作,但是 $("#myapplet").show() 不行。 - Disco
Flash也有这个问题,你可以将窗口模式设置为透明。不知道Java Applets是否也可以这样做。 - Malfist
嗯...有没有办法告诉jQuery去"改变"applet的src?这可能解决问题。 - Disco
jQuery("#applet").attr("src", "null"); jQuery("#applet").attr("src", "null"); - Malfist
触发器会触发事件处理程序。您可以使用它来引起自定义事件。例如,如果我执行jQuery("#button").trigger("click"),它将触发按钮的点击事件。http://api.jquery.com/trigger/ - Malfist
显示剩余5条评论

1
尝试像这样做:

var save=$('#applet').clone();
$('#applet').html('');

当你需要它返回时

$('#applet').html(save.html());
save=null; //to free this bit of memory

没有测试过,但我预计它会工作的;)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接