2009-09-13 2 views
11

Javascript에서 Flash (AS3) 함수를 호출하려고합니다. 코드가 실행되면 "오류 : 잡히지 않은 예외 : NPObject에서 메서드를 호출하는 중 오류가 발생했습니다!"라는 오류 메시지가 나타납니다. 주변에 인터넷 검색의 가치가있는 날부터, 이것은 보안 문제로 보입니다. 그리고 나는 찾을 수있는 모든 것을 다했으나 오류는 여전히 발생합니다.Javascript -> Flash throw "NPObject에서 메서드 호출 중 오류 발생"

일부 세부 정보 :
* 이는 Flash 9 및 Flash 10 플레이어 모두에서 발생합니다.
* SWF는로드하는 PHP 파일과 동일한 도메인에 있으며 플래시 함수를 호출하려고하는 javascript가 포함되어 있습니다.
내가 SWF 파일을로드과 같이 할 sfwobject2.2을 사용하고 있습니다 * :

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


내 플래시 동영상이 올바르게까지 내가 말할 수있는의 allowDomain 일을하고있다 :

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

* ExternalInterface.addCallback이 제대로 설정되었음을 알고 있습니다. 비활성화하면 NPObject 불만 대신 "해당 기능 없음"오류가 발생합니다.

이것은 나를 완전히 미치게하고, 나는 그것을 고치는 법을 알 수 없다. 저기에 어떤 조언 있니?

+0

답변을 찾았습니까? 나는 같은 문제가있다. – UltimateBrent

답변

10

내가 찾은 대답은 여러 가지 이유로 그 오류를 던졌습니다. 내 것은 내가 부른 함수에 대해 정확한 수의 주장을 보내지 않았다는 것이었다.

+2

다양한 이유를 설명하는 좋은 문서를 찾으셨습니까? 공유하는 신경? – Fiid

+2

요점은 모든 오류가이 하나의 출력을 유발한다는 것입니다. 잘못된 함수를 호출 할 수 있습니다, 잘못 매개 변수 수, 보안 수 있습니다. – UltimateBrent

+0

이 오류가 간헐적으로 발생하는 이유에 대한 아이디어가 있습니까? 내가 작업하고있는 코드는 때로는 작동하지 않고 다른 데이터 세트에서는 동일한 데이터 세트 등으로 작동합니다. – Fiid

3

어도비의 사이트에서 플래시 플레이어의 디버깅 버전을 설치하면 NPObject 오류 대신 실제 플래시 예외가있는 대화 상자가 표시된다는 것을 알았습니다. 그래야 생각할 수있는 첫 번째 단계가 될 수 있습니다. 실제로 무슨 일이 일어나고 있는지.

필자의 경우에는 어떻게 든 보이지만 전달되는 인수가 올바르지 않고 (간헐적으로) 어떻게되는지 확실하지 않지만 다른 질문이 있습니다. :)

관련 문제