我有两个小程序A和B.它们嵌入在不同的页面中。在销毁时,A将对象序列化到本地文件系统。在init上,B反序列化这些对象。这种设置在Windows中运行良好。不幸的是,我发现它在Mac OS X中不起作用。这是因为B在A被销毁之前被初始化。有没有人知道是否有一些applet参数或设置或配置或解决方法,使Mac OS X Java插件的行为类似于Windows?
浏览器:FF 3.0 操作系统:Mac OS X 10.4 Java插件版本:1.5.0_06
答案 0 :(得分:1)
你很幸运,这一直在Windows下运行,甚至在Windows上,这种行为可能是特定于浏览器的。根据API文档,当包含此applet的Web页面已被另一个页面替换时,将调用applet的stop方法,并且在stop方法之后将调用destroy方法。注意'当......已经'而不是'之前......将是'。总结一下,如果用applet A替换带有applet B的HTML页面的HTML页面,applet API无法确保在applet B被初始化或启动之前调用并完成applet A的某些方法。
如果您启用了applet的脚本,那么您在applet A中实现了一种save方法,并在尝试加载页面B之前使用第A页的Javascript调用此方法。