PDA

Просмотр полной версии : FileReference browse не работает при вызове через ExternalInterface


Mtnt
22.03.2010, 01:12
собственно сабж...

...
file:FileReferenceList = new FileReferenceList;
ExternalInterface.addCallback('browseP',browseHandler);
...

private function browseHandler():void {
var fileFilter = new FileFilter("Images","*.jpg;*.png;");
try {
ExternalInterface.call('bbb','ava'); //обратно в JS, выполняющий alert('ava')
browseBtn.x = 100;
file.browse([fileFilter ]);
} catch (e:Error) {
ExternalInterface.call('bbb',e.message);
}
}


вызываю из JS функцию browseP, алерт показывается, элемент browseBtn сдвигается и все умирает с ошибкой

Error #2176: Certain actions, such as those that display a pop-up window, may only be invoked upon user interaction, for example by a mouse click or button press.

на сколько я понял из текста, надо тыкать напрямую во флешку... или нет? если знает кто, в чем трабл и как лечить, помогите плиз

iNils
22.03.2010, 01:16
10-ый плеер требует, чтобы эти действия были инициированны пользователем через клавиатуру и нажатием кнопки в самом флеше. Это требования безопасности, связанные с тем, что в 10-ом плеер добавлены новые возможности в FileReference.

Mtnt
22.03.2010, 01:18
у меня в Publish Settings стоит девятая версия... или это не важно?

и заглядывая вперед, смогу ли я запускать FileReference upload посредством ExternalInterface?

iNils
22.03.2010, 01:24
Не важно. Главное плеер в котором играет.
Это сильно попортило нервы многим, но решение было найдено за счет позиционирования прозрачного флеша под курсор мыши.

Mtnt
22.03.2010, 01:26
и заглядывая вперед, смогу ли я запускать FileReference upload посредством ExternalInterface?