Как получить доступ к Flash-объекту, встроенному через embedSWF swfobject? - PullRequest
2 голосов
/ 28 марта 2010

Мне нужно вызвать метод ActionScript через Javascript, но у меня проблема с доступом к самому объекту flash. Я вставляю флэш-файл с помощью swfobject .

Ранее, когда я использовал подход статической публикации, я мог легко получить объект flash, вызвав эти методы:

swfobject.registerObject("flash_object", "9", "expressInstall.swf");
var flash_object = swfobject.getObjectById("flash_object");

По некоторым техническим причинам теперь я должен использовать подход динамической публикации (используя swfobject.embedSWF ). Но, как упоминалось в документации, метод getObjectById может использоваться только при использовании подхода статической публикации.

Теперь, как я могу получить доступ к флэш-объекту?

Cheers, Эндри

Ответы [ 2 ]

5 голосов
/ 28 марта 2010

со старым добрым document.getElementById("flash_object")

Обязательно сделайте это после загрузки страницы. Вы также можете установить его с помощью функции обратного вызова :

var mySWF = null;
var flashvars = {};
var params = {};
var attributes = {};
var embedHandler = function (e){
  mySWF = e.ref; //e.ref is a pointer to the <object>
  //do something with mySWF
};

swfobject.embedSWF("/path/to/file.swf", "flash_object", "550", "400", "9", "/path/to/expressInstall.swf", flashvars, params, attributes, embedHandler);
0 голосов
/ 28 марта 2010

Я бы предложил ознакомиться с документацией по Как интегрировать Flex с приложениями Java EE.

В нем объясняется, как использовать Flashvars для передачи данных из JavaScript в метод ActionScript. Я использовал его сам, и он прекрасно работает.

...