Подтвердить что ты не робот

Javascript → Flash throwing "Метод вызова ошибок в 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-фильм делает вещь allowDomain, правильно, насколько я могу судить:

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

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

Это сводит меня с ума, и я просто не могу понять, как это исправить. Какие-нибудь советы там?

4b9b3361

Ответ 1

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

Ответ 2

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

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