| bifidokk |
11.02.2013 15:47 |
ExternalInterface и swfobject
Прошу сильно не пинать, но курение форума и гугла не дали эффекта.
Подключаю флешку через swfobject и не могу джаваскриптом достучаться до нее. Код во враппере:
Код AS1/AS2:
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
var d = new Date();
// For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection.
var swfVersionStr = "11.1.0";
// To use express install, set to playerProductInstall.swf, otherwise the empty string.
var xiSwfUrlStr = "${expressInstallSwf}";
var flashvars = {};
var params = {};
params.quality = "high";
params.bgcolor = "#FFFFFF";
params.allowScriptAccess = "always";
params.allowFullScreen = "true";
params.allowFullScreenInteractive = "true";
params.wmode = "direct";
params.flashvars = flashvars;
var attributes = {};
attributes.id = "flash-app";
attributes.name = "flash-app";
attributes.align = "middle";
swfobject.embedSWF(
"1.swf?v=" + d.getMilliseconds(), "flash-app",
"760 px", "660 px",
swfVersionStr, xiSwfUrlStr,
flashvars, params, attributes);
// JavaScript enabled so display the flashContent div in case it is not replaced with a swf object.
swfobject.createCSS("#flash-app", "display:block;text-align:left;");
function getMovie()
{
var movie = swfobject.getObjectById("flash-app");
return movie;
}
function js_to_as() {
isReady();
getMovie().eiDataReceiver();
}
function isReady()
{
alert(getMovie());
}
</script>
код во флешке:
Код AS3:
ExternalInterface.addCallback("eiDataReceiver", jsOnRefill);
ну и далее сам метод
матерится джаваскрипт:
TypeError: getMovie(...) is null
[Прерывать на этой ошибке]
getMovie().eiDataReceiver();
вместо swfobject.getObjectById("flash-app");
также пробовал document.getElementById("flash-app");
тот же эффект. ткните меня, что тут неправильно
Добавлено через 2 минуты
упс, проблема решена)
|