【问题标题】:Applet lifecycle in Mac OS XMac OS X 中的 Applet 生命周期
【发布时间】:2009-10-20 08:13:49
【问题描述】:

我有两个小程序 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

【问题讨论】:

  • 也许我不明白这一点,但是如果它们在不同的页面上,B init 怎么会在 A 被销毁之前被销毁?只需打开带有 A 的页面,关闭它,然后打开带有 B 的页面。对不起我的无知
  • 不能那样做。 A 的页面提交到 B 的页面。

标签: java macos applet lifecycle


【解决方案1】:

你很幸运,这一直在 Windows 下工作,即使在 Windows 上,这种行为也可能是特定于浏览器的。根据 API 文档,applet 的 stop 方法将在“包含此 applet 的网页已被另一个页面替换时”被调用,并且在 stop 方法之后将调用 destroy 方法。请注意“何时……已经”而不是“之前……将会”。简短的总结,如果您将带有小程序 A 的 HTML 页面替换为带有小程序 B 的 HTML 页面,则小程序 API 无法确保在小程序 B 初始化或启动之前调用并完成小程序 A 的某些方法。

如果您启用了小程序的脚本,那么您已经在小程序 A 中实现了一种保存方法,并在尝试加载页面 B 之前使用页面 A 的 Javascript 调用此方法。

【讨论】:

    猜你喜欢
    • 2010-09-16
    • 1970-01-01
    • 2011-03-31
    • 2011-12-11
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    相关资源
    最近更新 更多