찾기
내용으로 건너뛰기
추적
문서의 이전 판을 선택했습니다!
저장하면 이 자료로 새 판을 만듭니다.
미디어 파일
======예제: 브라우져 자바스크립트 통신====== 이 예제는 AS3(ActionScript3)가 브라우져내에서 JavaScript 통신하는 방법을 보여줍니다. 이 예제는 [[http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html |ExternalInterface]] ActionScript 클래스를 사용합니다. 실행되면, the BrowserCommunicator.TestCommunication() 함수가 브라우져 JavaScript를 호출할 수 있는 콜백(callback)을 등록합니다. 그 다음 해당 ActionScript는 팝업 경고창을 보여주는, 브라우져 JavaScript를 호출합니다. 그 다음 JavaScript에 의해 양방향 통신을 시험하는, 노출된 ActionScript 함수가 호출됩니다. \\ =====Required JavaScript===== 아래보이는 JavaScript는 유니티에서 배포된 SWF를 제공하는 html 에 첨부되어야 합니다. 아래 코드는 ActionScript에서 호출되는 함수를 생성합니다: <file csharp> <script type="text/javascript"> function calledFromActionScript() { alert("ActionScript called Javascript function") var obj = swfobject.getObjectById("unityPlayer"); if (obj) { obj.callFromJavascript(); } } </script> </file> \\ =====BrowserCommunicator.as (그리고 일치하는 C# 클래스)===== <file csharp> package { import flash.external.ExternalInterface; import flash.system.Security; public class BrowserCommunicator { //Exposed so that it can be called from the browser JavaScript. public static function callFromJavascript() : void { trace("Javascript successfully called ActionScript function."); } //Sets up an ExternalInterface callback and calls a Javascript function. public static function TestCommunication() : void { if (ExternalInterface.available) { try { ExternalInterface.addCallback("callFromJavascript", callFromJavascript); } catch (error:SecurityError) { trace("A SecurityError occurred: " + error.message); } catch (error:Error) { trace("An Error occurred: " + error.message); } ExternalInterface.call('calledFromActionScript'); } else { trace("External interface not available"); } } } } </file> 해당 클래스의 C# 더미(dummy) 동작(구현): <file csharp> [NotConverted] [NotRenamed] public class BrowserCommunicator { [NotRenamed] public static void TestCommunication() { } } </file> \\ =====시험하는 방법===== 간단히 BrowserCommunicator.TestCommunication() 를 호출하면 양방향 통신을 시험할 수 있습니다. \\ =====잠재적인 문제===== ====Sandbox 보안 위반==== //보안 오류 발생: #2060 오류: sandbox 보안 위반// 이 오류는 사용자의 html 파일에 대한 접근 권한이 허용되지 않은 SWF를 배포하는 경우에 발생합니다. 로컬에서 이 문제를 해결하는 방법은 다음과 같습니다 (선택): * [[http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html |Global Security Settings Panel]] 내에 Flash 플레이어를 신뢰하는 위치에 해당 SWF를 포함하는 폴더를 추가시킵니다. * localhost에서 해당 파일을 호스팅합니다. Flash SandBox 보안에 대한 더 자세한 정보는 Adobe의 [[http://livedocs.adobe.com/flex/3/html/help.html?content=05B_Security_04.html |documentation]]에서 확인하시기 바랍니다. \\ //주의: 플래시 내보내기 기능은 현재 개발자 프리뷰로 사용 가능합니다. 이 기능은 아직 개발 중이므로 위 정보는 변경 될 수 있습니다.// {{tag>유니티 unity}} * 출처: [[http://unitykoreawiki.com/index.php?n=KrMain.flashexamples-browserjavascriptcommunication|유니티코리아위키]] (CC BY-NC-SA 2.0)
2+1?
이 필드는 비어 있도록 유지하세요:
저장
미리 보기
취소
편집 요약
참고: 이 문서를 편집하면 내용은 다음 라이선스에 따라 배포하는 데 동의하는 것으로 간주합니다:
CC Attribution-Noncommercial-Share Alike 4.0 International
연결문서
플래시 개발 시작하기
유니티3D ( Unity3D )
문서 도구
문서 보기
이전 판
연결문서
맨 위로
다크 모드로 보기
☀️
Toggle Menu
유니티3D ( Unity3D )
너두 고쳐두 됩니다.
사이트 도구
최근 바뀜
미디어 관리자
사이트맵
사용자 도구
등록
로긴
최근 수정된 문서
misuse_topical5
노박
unique_items
dinner_bell
deputy_beagle
ratslayer
one_for_my_baby
alerio
power_fist
제거됨
fixer
climb_ev_ry_mountain
companion
[장비 분실]
crashed_vertibird
brotherhood_t-51b_power_armor
marco
i_forgot_to_remember_to_forget
cateye