В тот момент, когда Flash выполняет вызов jsFunction
, он не определен. У вас есть состояние гонки, когда $(document).ready
запускается после выполнения вызова ExternalInterface, поэтому все, что определено в $(document).ready
, еще не выполнится и, следовательно, будет недоступно во время вызова Flash.
В ответ на ваш комментарий:
Вам нужно, чтобы Flash был готов и документ был готов, чтобы это работало. Я не уверен, что порядок инициализации гарантирован, поэтому я бы посоветовал вам вызвать известную функцию из Flash, которая сообщает JS, что она готова. Возможно, что-то вроде этого:
var waitingForItems=2;
function itemReady()
{
//called from both Flash and $(document).ready
--waitingForItems;
if(waitingForItems==0)
{
//create your array
//send to Flash by calling Flash rather having Flash call JS
}
}
$(document).ready(function(){
itemReady();
});