2012-09-25 2 views
1

ExternalInterface을 통해 JavaScript 함수를 호출하는 약 1000 개의 SWF 파일이 있습니다.존재하지 않는 함수에 대한 ExternalInterface 호출 캐치

이 파일의 소스 파일에 액세스 할 수 없으며 편집 할 방법이 없습니다.

내 기본적인 문제는 모두 다른 함수를 호출하고 Flash AS3 스크립트가 함수의 응답을받을 때까지 중단된다는 것입니다.

내가 바라는 것은 자바 스크립트에서 SWF 파일로부터 호출되고있는 함수가 무엇인지 감지 한 다음 해당 기능을 즉석에서 작성하는 것입니다. 그러나 이렇게하려면 호출되는 함수를 감지해야합니다. 먼저.

JavaScript로 이것을 수행 할 수있는 방법이 있습니까?

답변

0

아니요, JavaScript에서는 불가능합니다.

+0

정말요? 따라서'ReferenceError'를 감지하고'try {} catch() {}'를 사용하지 않고 처리하는 것은 불가능합니다. ReferenceError 객체를 프로토 타이핑하여 커스텀 이벤트 핸들러를 사용할 수 있습니까? –

+1

오류가 발생하면 이미 너무 늦었습니다. – ThiefMaster

+0

모든 오류는 catchable이어야하며, actionscript 3에서 UncaughtErrorEvent를 사용하거나 javascript에서 window.onerror를 사용해야합니다. –

0
  1. 나는 거기에 얼마나 많은 변화를 잘 모릅니다 만, 단지 호출되는 ExternalInterface를 호출보고 여러 SWF 년대에 디 컴파일러를 사용하는 옵션입니다? 온라인 디 컴파일러를 시도 http://www.showmycode.com/

  2. 당신은 자바 스크립트 오류를 ​​던지고 만약 내가 dont'tknow UncaughtErrorEvent http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/events/UncaughtErrorEvent.html

  3. 를 사용하여 플래시에서 정의되지 않은 오류를 잡을 수 있습니까? 당신은 당신이 SWF 파일을 통해이 정확히 무엇을 당신이 달성하고자 얼마나 많은 제어 window.onerror https://developer.mozilla.org/en-US/docs/DOM/window.onerror

-1

당신이 설명 할 수 사용, 너무 자바 스크립트에서 오류를 잡을 수 있을까?

이 AS2 ou AS3입니까? 이러한 SWF 파일을로드하는 기본 SWF 파일이 있습니까?

문서를보고 있는데 ExternalInterface.marshallExceptionsUnhandledErrorEvent을 함께 사용하면 Flash 쪽에서 기존 기능 호출을 감지 할 수 있습니다.

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html#marshallExceptions

+0

질문에서 언급했듯이 SWF 소스 파일에 액세스 할 수 없기 때문에 JavaScript에서 호출하는 EI 함수를 처리해야합니다. –

+0

소스가 없다고해서 SWF 파일을 제어 할 수 없다는 의미는 아닙니다. 예를 들어 다른 SWF 안에로드하는 경우 'ExternalInterface.marshallExceptions'를 사용할 수 있습니다. 또한 SWF 바이트 코드를 검사/수정할 수있는 몇 가지 도구가 있습니다. 그래서, 나는 당신의 투표를 이해하지 못합니다. –

관련 문제