2009-09-13 21 views
11

Sto provando a chiamare una funzione Flash (AS3) da Javascript. Quando il codice viene eseguito, viene visualizzato l'errore "Errore: eccezione non rilevata: metodo di chiamata di errore su NPObject!" Dal giorno della mia ricerca su Google, questo sembra essere un problema di sicurezza, e ho fatto tutto quello che posso trovare, ma l'errore si presenta ancora.Javascript -> Flash throwing "Metodo di chiamata errore su NPObject"

Alcuni dettagli:
* Questo accade sia con i lettori Flash 9 sia con quelli di Flash 10.
* Il file SWF si trova nello stesso dominio del file php che lo carica e che contiene il javascript che sta tentando di chiamare la funzione Flash.
* sto usando sfwobject2.2 per caricare il file SWF, in questo modo:

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);

film
My Flash sta facendo la cosa allowDomain, correttamente, per quanto posso dire:

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

* So che ExternalInterface.addCallback è impostato correttamente - quando lo disattivo, ottengo un errore "nessuna di tali funzioni" al posto del reclamo NPObject.

Questo mi sta facendo impazzire completamente e non riesco a capire come correggerlo. Qualche consiglio là fuori?

+0

Hai mai trovato una risposta? Ho lo stesso problema. – UltimateBrent

risposta

10

La risposta che ho trovato è che genera quell'errore per molte ragioni. Il mio era che non stavo inviando il numero corretto di argomenti per la funzione che stava chiamando.

+2

Hai trovato un buon documento che delinea le varie possibili ragioni? Cura di condividere? – Fiid

+2

Il punto è che tutti gli errori causano questo output. Potrebbe essere chiamata la funzione sbagliata, potrebbe essere sbagliato numero di parametri, potrebbe essere la sicurezza. – UltimateBrent

+0

Qualche idea sul motivo per cui questo errore potrebbe verificarsi in modo intermittente? Il codice su cui sto lavorando funziona a volte e non in altri, con lo stesso set di dati, ecc. – Fiid

3

Ho scoperto che installando la versione di debug del Flash Player dal sito di Adobe, otterrei una finestra di dialogo con l'effettiva eccezione flash al posto dell'errore NPObject, quindi questo potrebbe essere un utile primo passo nel figurare fuori quello che sta realmente succedendo.

Nel mio caso sembra che in qualche modo, sia passato un numero errato di argomenti, e non sono sicuro di come ciò avvenga (a intermittenza), ma questo è per un'altra domanda. :)

Problemi correlati