Как я могу удалить addCallback?
У меня есть Flash-игра, которая отправляет и получает много сообщений от JavaScript. Иногда мне нужно остановить прослушивание некоторых из этих функций, но ExternalInterface не имеет функции removeCallback. Так что я делаю что-то уродливое: использую логическое значение для проверки, доступен ли обратный вызов в каждой функции.
Есть лучшее решение?
ExternalInterface.addCallback("callAlert", callAlert);
function callAlert(msg:String){
if(callAlertAvailable){
//...
}
}
1 ответ
Решение
Просто снова вызовите addCallback, установив функцию как null:
ExternalInterface.addCallback("callAlert", null);
Почему бы не прочитать документы? Я нашел это здесь:
ExternalInterface.addCallback()
Примечание. Повторение addCallback() для существующей функции обратного вызова с нулевым значением закрытия удаляет обратный вызов.