PDA

Просмотр полной версии : Связь с JS вообще работает?


firelord
18.11.2007, 21:35
У кого-нибудь вообще работает описанный в документации метод вызова функций в ActionScript из JavaScript? даже с поправкой на то, что в документации явная ошибка?

У меня метод ПРОСТО не вызывается! Делаю на флеше отображение графика, по клику на странице во флеш должен передаваться параметр - какой график отображать (флеш сам грузит по нему xml).

ActionScript:

function setTicker(ticker:String):String {
this.ticker_txt.text="new ticker "+ticker;
return "ok";
}
ExternalInterface.addCallback("gotoTicker", setTicker);


JavaScript:

function expandChart(ticker) {
flash=document.getElementById("flashchart");
if (flash) {
var res=flash.gotoTicker(ticker);
alert(res);
}
}


setTicker ничего не делает, возвращает undefined. IE6, FF2. либо у меня лыжи не едут, либо программеры в Adobe облажались... кто-нибудь вообще этим пользовался?

З.Ы. Вызов функций JS ИЗ флеша работает на ура...

2morrowMan
18.11.2007, 21:58
Пользовался, работает.

JS:

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

function expandChart(ticker)
{
var res = thisMovie("mp3player").gotoTicker(ticker);
alert(res);
}

Ну там проверки всякие сам добавляй...

silin
18.11.2007, 22:00
allowScriptAccess в <object> и <embed> не забыл в "always" поставить?

firelord
18.11.2007, 22:09
да, походу проблема в том, что див с флешом дергается все время в visible/invisible - когда флеш все время открыт, вроде проблем нет.

тогда другой вопрос - существует ли возможность во флеше отследить "видимость" на странице и момент (событие?), когда флеш отображается (отрисовывает) сам себя? пройдусь по хелпу...

вроде сделал, правда, пришлось вставлять разный код для разных браузеров - а я этого ненавижу ;) еще вопрос, как будет в операх всяких работать...

спасибо всем за помощь!