当前位置: 首页 > 面试题库 >

通过Javascript杀死Java Applet

奚英朗
2023-03-14
问题内容

我在一家开发公司工作,正在对Web应用程序进行重大的重新设计,该应用程序在每次单击后都会重新加载所有内容,以广泛使用Javascript,因此实际上感觉就像是一个真正的Web应用程序。功能之一是使用基于Web的Painter(我认为是Web上的MSPaint),我将其嵌入到“按需页面”中。绘制并上传图像后,Web应用程序将卸载该applet,然后继续显示文件上传到的目录。

这是麻烦开始的地方。所有这些都可以在IE和Safari上运行,但不能在Firefox
3.5上运行(尽管3.0可以完美运行)。Firebug告诉我,expando属性丢失。

我之前开发的Web应用程序Tiparlo遇到了类似的问题(实际上,通过jQuery对applet进行的任何操作都是错误的),但是通过将div包裹起来并控制(隐藏和显示)div而不是div来解决了该问题。小程序。不幸的是,这不适用于该Web应用程序,因为Applet必须销毁,而不仅仅是隐藏和显示,因为它占用了过多的资源,无法在不需要的整个时间运行。

简而言之:是否可以通过Javascript使Applet销毁自己?或者:是否有关于jQuery / expando /
applet问题的解决方法?我知道在HTML 4.01中严格不赞成使用applet,但现在将其更改为object并不是一个选择。

编辑:我添加了Firefox +
Firebug图片,向您显示实际的错误消息。发布代码是无可厚非的,因为它可以在其他所有浏览器上正常运行,并且是Firefox
3.5特定的问题。这是图片

注意:您可以忽略来自button.js的JS Bug。


问题答案:

您总是可以将小程序加载到iframe中,而只需离开小程序加载的页面即可。这会杀死它。

如果要从JavaScript调用destroy,您的另一个选择是放入类似的内容。

<script>
    document.MyApplet.killApplet();
</script>

public void killApplet() {
    AccessController.doPrivileged(new PrivilegedAction() {
        public Void run() {
            // kill the JVM System.exit(0); return null; 
        }
    });
}

这不是杀死applet的好方法,但是在较新的浏览器中,它不会引发JS错误,而在IE6等较旧的浏览器中,它将引发js错误。



 类似资料:
  • 问题内容: 我需要搜索某个进程并杀死该进程。我写了这样的命令: 进程名称为。但这是行不通的。我如何才能按名称及其名称查找流程。 问题答案:

  • 问题内容: 有时,当我尝试启动Firefox时,它会显示“ Firefox进程已在运行”。所以我必须这样做: 我想要的是一个可以为我完成所有任务的命令。它会在进程列表中使用一个输入字符串并将其(或其他内容)放入其中,并杀死输出中的所有进程: 我尝试在PHP中执行此操作,但似乎只显示已在PHP脚本本身中执行过的进程(因此,它显示的唯一进程是其自身。) 问题答案: 详细信息:http : //linu

  • 问题内容: 我需要制作一个从用户获取以下内容的脚本: 1)进程名称(在Linux上)。 2)此进程写入的日志文件名。 它需要终止该进程并确认该进程已关闭。将日志文件名更改为带有时间和日期的新文件名。然后再次运行该过程,确认它已启动,以便继续写入日志文件。 先谢谢您的帮助。 问题答案: 您可以使用以下命令检索给定名称的进程ID(PID): 希望这可以帮助

  • 问题内容: 我有以下设置: 我正在创建黄瓜步骤,我需要能够启动和关闭该应用程序。 问题答案: 您可以使用和频道杀死无限循环! 很不错的Go交换,不是吗? 现在,这有什么奇怪的地方?这是一个零尺寸的频道。我们只能用空结构填充它(即:)。可能是a 或其他,因为我们不使用频道的内容。重要的是,我们使用通道通知goroutine中的无限循环,该该停止了。 该语句用于捕获来自渠道的内容。这是一条阻塞语句(除

  • 问题内容: 假设我有一个bash脚本(),它的格式非常简单,如下所示: 第三行模仿,在Mac OS X上默认没有,但您可以将其视为与相同。但是,当我运行此脚本时,得到以下输出: 我如何抑制中间的线,以便我看到的是和? 问题答案: 怎么样呢?这在Linux上的Bash上最适合我。 编辑: 更好地匹配海报的代码。