2009-10-13 100 views
1

使用display:none隐藏Java applet导致firefox杀死该applet,直到它再次可见为止。它也似乎杀死小程序,如果你把小程序放在视图之外,即。位置:绝对;左:-9999;使用可见性:隐藏;将隐藏小程序而不杀死它,但是小程序仍占用布局中的空间,这对我的应用程序不起作用。有没有人知道一种解决方法,以防止通过显示或负位置偏移来隐藏java applet时的firefox?Firefox在视图之外杀死Java Applet

这个用法是一个java上传小程序,我想在上传过程中隐藏上传小程序而不杀死上传。

回答

5

隐藏时applet的行为完全是针对浏览器的。例如,Safari 4在用户更改为不同的选项卡时调用stop(),然后在切换回applet选项卡时调用start()(至少在mac上,不确定Windows)。

而不是使用位置黑客,将小程序设置为1x1像素大小。这在屏幕上留下了一个白点,但它是确保小程序保持活动状态的唯一真正的跨浏览器方式。

+0

+1好主意,如果需要,你可以随时更改它的颜色。 – Pool 2009-10-15 01:42:00

+0

你是大多数情况下的最佳答案。不会为我工作,但谢谢! – wallacer 2009-11-25 20:49:36

3

这个问题并不是孤立的Java applets。 Flash和其他插件有相同的问题。他们这样做是为了节省资源和向后兼容性。

我通过改变可见度隐藏起来并将位置设置为绝对值,然后将其置于负Z顺序和其他讨厌的技巧中,从而欺骗了我。

+0

雅我知道它发生在所有插件。我的特别问题是使用一个小程序,所以我将我的问题组织得更具体。也许我会尝试一下隐藏和定位的组合。 – wallacer 2009-10-13 23:05:44