SWFAddress setValue()方法触发URL更改事件



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

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

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

谢谢你抽出时间。

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

最新更新