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