BLOG main image
분류 전체보기 (63)
(17)
성윤이 (0)
(5)
일상 (10)
낙관주의 (3)
삽질 (9)
웹사업개발팀 (5)
14661 Visitors up to today!
Today 28 hit, Yesterday 19 hit
daisy rss
tistory 티스토리 가입하기!
'Flash'에 해당되는 글 6건
2008/06/17 19:24
Flash 오브젝트가 포함된 div의 visibility style 속성을
Flash 오브젝트내부의 ExternalInterface.call()에 의해 호출된 자바스크립트 함수에서
hidden으로 셋팅하면 그 이후로는 ExternalInterface.addCallback으로 노출한 Flash 프로그램의 함수가 호출되지 않는다.
정의되지 않은 함수라고 나오면서. - - a

buttonclick같은 DOM의 user event에 의해서 호출된 자바스크립트 함수에서 똑같은 동작을 했을때는 문제가 없다. - - ;;;

visibility 스타일 대신에 zIndex를 이용해서 동일한 기능을 구현했더니 문제가 없다.

얼마전에는 FF-Flash 버그가 속을 썩이더니... 오늘은 IE-Flash네... 쩝.
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://10year.tistory.com/trackback/124
Name
Password
Homepage
Secret
2008/06/12 00:21
Flash object가 포함된 html element에 scriptaculous를 써서 Drag&Drop를 넣었는데
처음 드래그드롭에서 flash object가 reload되는 문제가 발생...
scriptaculous drap drop 코드 탐색 ->
scriptaculous effect 코드 탐색 ->
prototype setOpacity 탐색 한 결과
FireFox에서 element.style.opacity 를 셋팅하면 flash object가 reload 된다는 사실 발견. - - ;
일단 prototype의 코드를 수정해서 해결했다.
prototype은 건드리지 않고 깔끔하게 내 코드에서 해결해야 하겠지만,
오늘은 너무 덥고 잠도 와서 여기까지만. - -

원본 : prototype.js의 1756라인쯤

else if (Prototype.Browser.Gecko) {
  Element.Methods.setOpacity = function(element, value) {
    element = $(element);
    element.style.opacity = (value == 1) ? 0.999999 :
      (value === '') ? '' : (value < 0.00001) ? 0 : value;
   
    return element;
  };
}


수정본

else if (Prototype.Browser.Gecko) {
  Element.Methods.setOpacity = function(element, value) {
    element = $(element);
    //element.style.opacity = (value == 1) ? 0.999999 :
    //  (value === '') ? '' : (value < 0.00001) ? 0 : value;
    //
    return element;
  };
}

이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://10year.tistory.com/trackback/122
Name
Password
Homepage
Secret
2008/06/11 14:55
http://www.adobe.com/kr/devnet/flashplayer/articles/fplayer9_security_print.html

소켓을 이용해서 http multipart upload를 구현하던중
로컬테스트에서는 업로드가 잘 되는데, 서버에 올려서 업로드가 안되는 문제가 생겨서 좀 헤맷다.
에러의 종류는 SecurityError.
당연히 보안정책을 잘 살펴서 미리미리 숙지하고 구현을 하는게 정석이겠지만,
워낙 일관성이 없고 뒤죽박죽이라는 이유로 (남들이 그러길래 - - ;)
문제 생기면 보지 했는데
역시 문제가 생겼고... 괜한 시간을 낭비했다.

정리하자면,
Socket을 이용한 통신을 할려면,
사용하는 동일한 포트에서 <policy-file-request>라는 요청에 대해서 xml로 된 정책내용을 보내줘야 한다.
주의점은 <policy-file-request>이라는 요청이 http도 뭐도 아닌 날 요청이란점.
그냥 소켓열고 무작정 <policy-file-request> 요 스트링이 날라온다. - -

동일한 포트에서 해당 응답이 어려울 경우 843 포트로 응답을 해도 된다.
843포트는 unix의 관례로 보면 root권한이 있을 경우에만 listen할 수 있으므로
나름 보안상 의미있는 구조라고 문서에 나와있다.

암튼 그렇다.


- 의문점.
+ 날 Socket을 안쓰고, XMLSocket등 다른 객체를 가지고 Flash App에서 직접 만든 바이너리를 업로드할 방법은 없을까?
+ 업로드할 바이너리를 Base64인코딩해서 XMLSocket에서 Post하고 PHP에서 디코딩해서 저장할수도 있긴하겠네...
이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://10year.tistory.com/trackback/120
Name
Password
Homepage
Secret
2008/06/10 10:55
[]
플래시에서 제공하는 설정창을 이용한다.
Security.showSettings(SecurityPanel.CAMERA);

카메라가 변경된 이벤트를 받는 방법을 알수가 없다.
타이머 돌렸다.
그리고 디바이스설정창을 띄운 MovieClip의 MouseOver 이벤트에서 타이머를 껏다.
뭔가 깔끔한 방법이 있을듯한데... 익숙한 잔머리로 해결. - - ;

video.attachCamera()를 어떻게 예쁘게 할까 고민하다가
무심코 실행시켜보니 자동으로 video에 attach된 카메라가 바뀌어 있다.

그런데 오디오는 설정창에서 변경했는데
Microphone.getMicrophone() 해봐도 변경이 안되어있다.
어렵다. - -

이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://10year.tistory.com/trackback/119
Name
Password
Homepage
Secret
2008/05/20 17:49
[]
MovieClip을 상속받은 클래스에 setFront() 함수.


public function setFront(  )
{
    return parent.setChildIndex(this, parent.numChildren-1);
}
Trackback Address :: http://10year.tistory.com/trackback/115
Name
Password
Homepage
Secret
2008/03/11 13:43
Connection: Keep-Alive 라고 명시된 연결에서
서버가 연결을 끊었다. (shutdown/close)
Flash NetStream.play()가 호출됨에 따라 FF에서 http request를 보낸다.
그런데, 이미 끊어진(서버에서 끊어버린) 소켓에다가 request data를 뿌린후
브라우저가 죽어버린다.

IE는 동일한 서버에서 동일한 동작을 할때 연결이 끊어진걸 잘 감지하고,
새로운 연결에다가 데이터를 정상적으로 잘 보낸다.

무슨 문제일까? - -

이올린에 북마크하기(0) 이올린에 추천하기(0)
Trackback Address :: http://10year.tistory.com/trackback/104
무쇠다리 | 2008/03/19 16:43 | PERMALINK | EDIT/DEL | REPLY
브라우저를 죽인 범인은 누구일까요?
흥미진진한데요
10year | 2008/03/21 22:36 | PERMALINK | EDIT/DEL
브라우저는 제가 죽인거 같구요. ^ ^ ;;;

Keep-Alive라고 명시해놓고 끊어버린 서버가 잘못하긴했지만, 그렇다고 죽어버리는 FF/Flash가 미워요.

서버쪽에서 Connection: Close로 명시하면, 브라우저쪽에서 커넥션을 미리 끊어서 문제가 발생하지는 않습니다. 아무래도 FF잘못인지, Flash잘못인지는 명확하지 않네요.
Name
Password
Homepage
Secret
prev"" #1 next