2009-04-20 3 views
0

У меня есть/AS3 проекта Flash Я пытаюсь добавить вызов обратно, я добавил звонок обратно следующим образом:ExternalInterface.addCallback не работает?

ExternalInterface.addCallback('force_refresh',force_refresh); 

и я звоню в от JS вроде этого:

function thisMovie(movieName) { 
    if (navigator.appName.indexOf("Microsoft") != -1) { 
     return window[movieName]; 
    } else { 
     return document[movieName]; 
    } 
} 
function forceRefresh() { 
    thisMovie("monthly_goals").force_refresh(); 
} 

Я убедился, что я импортирую класс ExternalInterface, я установил allowScriptAccess на «always», Я предупредил thisMovie («month_goals») и подтвердил, что JS видит объект.

Не знаете, почему еще он не будет работать? есть идеи?

Спасибо.

+0

Доступен ли внешний интерфейс? – dirkgently

+0

@DG Что значит? он находится в пакете flash.external, это не пакет Flex, если это то, что вы имеете в виду. –

ответ

0

Таким образом, мой метод обратного вызова ожидал параметр, и я не пропускал его, когда вызывал его из JS, поэтому, я думаю, он просто терпел неудачу.

+2

Если вы используете флеш-плеер Debug, он должен * не * терпеть неудачу молча, но дать вам модальное диалоговое окно с трассировкой стека и текстом исключений. –

+0

Спасибо за ваш комментарий, чтобы проверить это, хотя я должен был бы встроить его в веб-страницу, чтобы JS вызывал метод, я не уверен, есть ли способ запустить отладчик таким образом? –

+2

Если у вас есть версия отладки вспышки, она будет предупреждать об ошибках при встраивании в веб-страницу. –

Смежные вопросы