Javascript -> Flash бросок "Ошибка вызова метода на NPObject" - PullRequest
11 голосов
/ 13 сентября 2009

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

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

var flashvars = {};<br> var params = {};<br> var params = {menu: false, bgcolor: "#ffffff", allowScriptAccess: "always"};<br> 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 я получаю сообщение об ошибке «нет такой функции». Это сводит меня с ума, и я просто не могу понять, как это исправить. Любой совет там?

Ответы [ 2 ]

10 голосов
/ 27 октября 2010

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

3 голосов
/ 01 мая 2011

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

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

...