Я знаю, что существует множество статей и сообщений на форуме (многие из них от меня), касающихся ExternalInterface, я думаю, я добавлю еще одну ...
У меня есть небольшое флэш-приложение (кнопка), которое настроено для проверки доступности ExternalInterface, и оно прекрасно работает. У меня также есть больший, более сложный, flash mp3-плеер, с которым я пытаюсь использовать ExternalInterface; это не работает так здорово. Вопрос в том, где проблема? Мой рабочий код externalInterface выглядит так:
import flash.external.ExternalInterface
myBtn.onRelease = function(){
chkAvail();
}
function chkAvail() {
var myText:TextField = this.createTextField('myText', this.getNextHighestDepth(), 100, 100, 300, 21);
ExternalInterface.call("alert",'EI works!!");
myText.text = String(ExternalInterface.available);
}
И все это прекрасно работает. Мой код mp3-плеера выглядит следующим образом (выдержка, полный код выложен здесь ):
Вверху -
import flash.external.ExternalInterface;
и где я хочу вызвать javascript-
function loadPlaylist(){
//attempting to make external js call
ExternalInterface.call("alert", "Hello World!1");
//
track_display_mc.display_txt.text = LOADING_PLAYLIST_MSG;
if(track_display_mc.display_txt._width>track_display_mc.mask_mc._width){
track_display_mc.onEnterFrame = scrollTitle;
}else{...
Так почему первый работает, а не второй? Я чувствую, что я звоню им правильно из HTML. Может ли быть проблема с импортом flash.external.ExternalInterface? Должен ли я включить это в файл .flv, куда импортируется / включается файл .as, а не в реальный скрипт действий? Все помощь / идеи очень ценятся ...