코드 191

브라우저 모드

브라우저 제작사들이 표준 호환 웹브라우저를 만들기 시작했을때 하위 호환성을 준수하려고 노력했습니다. 이를 위해 화면에 표시하기 위한 렌더링 모드를 두가지로 나눴는데 표준 호환 모드(standards mode) 와 비 표준 확장 모드 (quirks mode) 입니다. 표준 호환모드에서는 기술 명세서의 내용대로 페이지를 화면에 표시하고, 비표준 확장 모드 일때는 좀더 느슨하게 하위 호환을 고려하여 페이지를 화면에 표시합니다. 비표준 확장모드에서는 마이크로소프트 인터넷 익스플로러 4 혹은 넷스케이프 네비게이터 4처럼 구버전의 브라우저에서 예전 사이트가 깨져보이지 않도록 동작합니다. 이 두가지 모드의 가장 큰 차이점을 예로 들면 윈도우용 인터넷 익스플로러의 자체적인 박스 모델이 있씁니다. 인터넷 익스플로러 6가..

코드/Html & CSS 2011.05.11

Automatically declare stage instances

Properties 창에서 ActionScript Settings 의 Edit 버튼을 누르면 오른쪽과 같은 팝업창이 뜹니다. 거기서 Stage : Automatically declare stage instances 옵션을 해제 합니다. 디폴트 값은 체크되있습니다. 이 옵션은 스테이지에서 생성한 인스턴스드들을 자동으로 멤버변수로 선언해주는 옵션입니다. 이 옵션은 반드시 끄고 사용해야합니다. 수많은 컴파일 에러와 런타임 에러를 동반하는 무서운 옵션이랍니다... 뭔 소리냐니깐 스테이지에서 임의의 무비클립을 생성하고 properties 창의 name 부분에 "mc" 라고 이름을 적어 둡니다. 일반적으로 저렇게 한뒤 메인 클래스 파일에서 this.getChildByName("mc") 나 this.mc 이런 식으로..

Object["String"]

김 :무비클립이 하나있다치면.김 :trace(mv["width"]);김 :이런걸 쳐보면 그 무비클립의 넓이가 나오더라고요 ㅎ김 :마찬가지로"y","x" 뭐 다 되던데.김 :이건 디스플레이 오브젝트의 속성을 배열같은것으로 가지고 있는건가요? www.grotesq.com 의 말 :기본적으로 Object 자체가 www.grotesq.com :속성에 대해서 그렇게 접근할 수 있거든요 www.grotesq.com 의 말 :var obj:Object = { value1:1, value:2 }; 하고 www.grotesq.com 의 말 :trace( obj[ "value1" ] ); 하면.. 김 :음.. 저렇게 접근이 되는거였군요... 김 :어쩌다보니 알게되었는데...신기해서요 ㅎ 김 :모든 객체에 다 적용이 되는건..

캐리지 리턴

케리지 리턴 (Carriage Return) 이란 ? 우선 케리지 리턴의 영문 뜻을 알아보도록 하죠^^; Carriage : 운반, 수송 이라는 뜻이 있습니다. Return : 되돌아 가다 라는 뜻이 있습니다.. 대충 합처서 생각을 해보다면 "운반하여 되돌리다" 라는 뜻이 되겠죠^^? 대충..ㅋㅋ (영어가 약해서.ㅠ.ㅜ) 개행 문자 는 라인피드 (Line Feed) 를 말합니다. 캐리지 리턴(Carriage Return)과 라인 피드(Line Feed)는 타자기 따온 것입니다. 캐리지 리턴(Carriage Return) 은 현재 위치를 나타내는 커서 를 맨 앞으로 이동시킨다는 뜻이고, 라인피드 (Line Feed) 는 커서의 위치를 아랫줄로 이동시킨다는 뜻입니다. 타자기는 마치? 로 단어를 때려서 종이에..

Javascript 에서 플래시 Object 잡기

=== Flash Object 인식 함수함수 (JavaScript) function getMovie( id ) { var obj = document.getElementById( id ); if( typeof objobj != 'object' && navigator.userAgent.indexOf("Safari") == -1 ) obj = obj.getElementsByTagName( 'object''object' )[0]; return obj; } === getMovie 함수 사용 예시 코드 (JavaScript) var objobj = getMovie( "flash_obj" ); obj.style.height = "100px"; ====== 코드 해석 - 이중으로 된 object 태그의 경우 Activ..

코드/JS 2011.01.27

렌더링 문답.

On Thursday 28th October 2010, @hika00 said: #as3t 3D플래시 어플리케이션을 만들며 문답.....................김: 음 제가 이번에 이 3D 작업 해보면서.. 어떻게 만들긴 했는데 상당히 cpu를 먹더라구요 ''; 맹: 암튼 3D는 cpu를 많이 먹어 그건 사실이잖아 김: 네 이거 어쩔 수 없는건가요?? 음 지금 cpu 모니터링 해보니까 대략 평균이 30% 정도.. 그 cpu를 많이 먹게 되니까 페이지에 있는 다른 swf 들에도 영향을 되게 많이 끼치더라구요??? 맹: 그럼 어떻게 적게 먹게 만드냐인데 정답은 최대한 render를 덜 호출하는거지 김: 전에 블로그에서 본 것 같아요 맹: render를 얼만큼 적게 호출하냐에 대한 답은 가능하면 많이 돌..

AS3.0 리스너 자동 제거하기.

as3에서 메모리릭의 가장 큰 주범은 뭐니뭐니 해도 이벤트 리스너입니다. 약한 참조가 실제로 동작하지 않기 때문에 일단 addEventListener를 했다손 치면 Dispatcher도 Listener도 전혀 GC가 안됩니다. 매번 꼼꼼하게 removeEventListener를 해주는게 정답입니다만 그게 어디 그렇게 쉽나요. 1회성 이벤트의 경우 사용 후 즉시 해제하는 경우가 많습니다. 또 그렇지 않더라도 조건을 걸어서 얼마든지 자신이 호출되는 시점에 제거하는 건 가능하겠죠. 지금 소개시켜드리는 간단한 코드는 리스너가 스스로를 해지할 수 있게 도와줍니다. 1 function listener( $e:Event ):void{ 2 3 $e.target.removeEventListener( $e.type, ar..