【问题标题】:SWFAddress setValue() Method Triggers URL Change EventSWFAddress setValue() 方法触发 URL 更改事件
【发布时间】:2012-07-31 16:12:49
【问题描述】:

我正在构建一个使用 SWFAddress 的 Flex 应用程序。每当我通过 SWFAddress 的 SWFAddress.setValue() 方法更新被劫持的 URL 时,我注意到它会触发 SWFAddressEvent.CHANGE 事件,导致我的页面再次经历更新周期。

在 SWFAddress 中是否有一种方法可以“静默”更新被劫持的 URL,从而不调度 SWFAddressEvent.CHANGE 事件?

我现在能想到的唯一解决方法是删除事件侦听器,更改 URL,然后将其添加回来。但这似乎……真的……效率低下。有什么想法吗?

感谢您的宝贵时间。

【问题讨论】:

  • 嘿,刚刚检查了源代码,里面没有任何东西可以阻止事件,如果它是一个新值,那么事件就会被调度(看起来它在初始化期间跳过了这个,但总的来说其他情况下,如果发生更改,则会发送)。您可以修改源,因为它可用并将您自己的布尔值添加到 SWFAddress 以阻止它调度事件,否则就像您已经说过删除/添加侦听器是一种选择,如果它只有一个对象添加/删除了侦听器我不'认为性能不会受到影响。
  • @shaunhusain 感谢您的调查。这就是我最终做的事情。如果您想剪切并粘贴您的评论作为答案,我会接受。

标签: actionscript-3 flash apache-flex actionscript swfaddress


【解决方案1】:

嘿,刚刚检查了源代码,那里没有任何东西可以阻止事件,如果它是一个新值,那么事件就会被调度(看起来它在初始化期间跳过了这样做,但在所有其他情况下,如果更改发生它被派遣)。您可以修改源,因为它可用并将您自己的布尔值添加到 SWFAddress 以阻止它调度事件,否则就像您已经说过删除/添加侦听器是一种选择,如果它只有一个对象添加/删除了侦听器我不'认为性能不会受到影响。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多