Javascript -> Flash бросок "Ошибка вызова метода на NPObject"

Я пытаюсь вызвать функцию Flash (AS3) из Javascript. Когда код запускается, я получаю сообщение об ошибке "Ошибка: необработанное исключение: ошибка вызова метода в NPObject!" Судя по тому, сколько времени я потратил на поиски, это стало вопросом безопасности, и я сделал все, что смог найти, но ошибка все еще появляется.

Некоторые детали:
* Это происходит с игроками Flash 9 и Flash 10.
* SWF-файл находится в том же домене, что и файл php, который его загружает, и содержит javascript, который пытается вызвать функцию Flash.
* Я использую sfwobject2.2 для загрузки SWF-файла, вот так:

var flashvars = {};
var params = {};
var params = {menu: false, bgcolor: "#ffffff", allowScriptAccess: "always"};
swfobject.embedSWF("/path/to/swf", "id", "480", "310", "9.0.0", null, flashvars, params, attributes);


Мой Flash-ролик делает что-то разрешающее, правильно, насколько я могу судить:

Security.allowDomain("www.mydomain.com");

* Я знаю, что ExternalInterface.addCallback настроен правильно - когда я его отключаю, я получаю сообщение об ошибке "нет такой функции" вместо жалобы NPObject.

Это сводит меня с ума, и я просто не могу понять, как это исправить. Любой совет там?

2 ответа

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

Я обнаружил, что установив отладочную версию флеш-плеера с сайта Adobe, я бы получил диалоговое окно с фактическим исключением во флеш-памяти, а не с ошибкой NPObject, так что это может быть полезным первым шагом для выяснения того, что на самом деле происходит на.

В моем случае это выглядит как-то неправильно, количество передаваемых аргументов неверно, и я не уверен, как это происходит (периодически), но это уже другой вопрос.:)

Другие вопросы по тегам