Flash addCallback으로 인한 IE8 Javascript error

Posted by in BugReport, Research

AS3.0은 ExternalInterface라는 클래스의 addCallback 함수를 이용해

javascript에서 호출 가능한 flash 함수를 등록할 수 있습니다.

 

addCallback을 이용해 함수를 등록하면  플래시는 동적으로 __flash__addCallback(){} 이라는 javascript 함수를 생성하는데요,

이때 함수명을 특정 단어로 등록하면 IE8과 IE6에서 javascript error가 발생합니다.

__flash__addcallback error

 

위 화면처럼 디버깅시 오류화면을 볼 수 있으며, IE8에서 예약어로 지정된 단어를 사용하여 발생하는 현상입니다.

  • IE8 예약어 목록
  • play
  • stop
  • tags
  • item
  • length

play를 playAudio 혹은 playVideo같이 함수명만 바꿔주는 것으로 수정 가능합니다.