2011-10-19 5 views
1

나는 자바 스크립트에 익숙하지 않으므로 나를 용서해주십시오.구성 요소가 실패한 코드를 반환했습니다 : 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMEventTarget.dispatchEvent]

현재 SWFAddress를 사용하여 Flex 응용 프로그램에 대한 딥 링크를 구축하고 있습니다. 문제는 IE9에서 브라우저 기록 기능이 작동하지 않는다는 것입니다.

나는 그것을 고치고 싶습니다. 어려운 문제는 아닌 것으로 보입니다.

Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMEventTarget.dispatchEvent] 
this.dispatchEvent(new SWFAddressEvent(type)); 

이 범인으로 코드의이 비트를 가리키는 :

_dispatch = function(type) { 
      this.dispatchEvent(new SWFAddressEvent(type)); 
      type = type.substr(0, 1).toUpperCase() + type.substr(1); 
      if(typeof this['on' + type] == FUNCTION) 
       this['on' + type](); 
     }, 

내가 확인했다가되고 있음을 확인 나는 파이어 폭스에서 스크립트를 디버깅 할 때

, 나는이 오류 메시지가 SWFAddressEvent 객체가 문제없이 올바르게 인스턴스화됩니다.

this.dispatchEvent = function(event) { 
    console.log(event); 
     if (this.hasEventListener(event.type)) { 
     console.log(event); 
      event.target = this; 
      for (var i = 0, l; l = _listeners[event.type][i]; i++) 
       l(event); 
      return TRUE;   
     } 
     return FALSE; 
    }; 

어떤 이유로, dispatchEvent가 생성 된 SWFAddressEvent을받지 않는 것 같다

문제는 여기서 거짓말을 보인다.

누군가가 오류 메시지의 의미를 설명 할 수 있습니까? 페이지가 처음로드 될 때 3 개의 이벤트를 올바르게 전달할 수있는 이유는 무엇입니까?하지만 이후 이벤트를 전달할 때 실패하게됩니다. 이 SWFAddress하지만 Window되지 않도록이 부분은 이벤트 핸들러에서 실행되는

this.dispatchEvent(new SWFAddressEvent(type)); 

:

답변

0

이 문제에 this에 대한 참조입니다 날 것으로 보인다.

나는 이것을 SWFAddress.dispatchEvent(new SWFAddressEvent(type));으로 바꾸었고 그 문제를 해결했습니다. 나는 JS 전문가가 아닙니다.

처음 세 이벤트는 NS_ERROR_ILLEGAL_VALUE을 생성하는 것과 다른 방식으로 생성됩니다.

+0

몇 달 전에 풍부한 웹 응용 프로그램을 개발하기 위해 swfaddress 및 플래시 사용을 중단 했으므로이 수정본의 작동 여부에 대해서는 언급 할 수 없습니다. 그러나이 답을 옳은 것으로 표시하겠습니다. 누군가가 미래에 더 나은 대답을하면, 나는 그 것을 정확하게 표시 할 것입니다 :) – F21