Метод SWFAddress setValue() запускает событие изменения URL

Я создаю приложение Flex, которое использует SWFAddress. Всякий раз, когда я обновляю угнанный URL через SWFAddress' SWFAddress.setValue() метод, я заметил, что это вызывает SWFAddressEvent.CHANGE событие для отправки, в результате чего моя страница снова проходит цикл обновления.

Есть ли в SWFAddress метод для "тихого" обновления перехваченного URL, чтобы SWFAddressEvent.CHANGE событие не отправлено?

Единственный способ обойти это, о котором я могу подумать сейчас, - это удалить прослушиватель событий, изменить URL, а затем добавить его обратно. Но это кажется... действительно... неэффективным. Есть идеи?

Спасибо за ваше время.

1 ответ

Решение

Эй, только что проверил исходный код, там нет ничего, что позволяло бы блокировать событие, если это новое значение, то событие отправляется (похоже, что оно пропускает это во время инициализации, но во всех других случаях, если происходит изменение, оно отправляется). Вы можете изменить источник, так как он доступен, и добавить свой собственный логический параметр в SWFAddress, чтобы он не отправлял событие, в противном случае, как вы уже сказали, удаление / добавление слушателя является опцией, если это только один объект с добавленным / удаленным слушателем. Не думаю, что это повлияет на производительность.

Другие вопросы по тегам