Object 태그에 대해서 한번더 여쭤봅니다^^
내길
object classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0 width=550 height=400
param name=movie value=flash_movie.swf
!--[if !IE] --
object type=application/x-shockwave-flash data=flash_movie.swf width=550 height=400
pimg src=flash_movie.png alt= //p
/object
!-- ![endif]--
/objectIE에서는 바깥쪽의 classid로 플래시 플레이어를 로딩하고, 표준 브라우져에서는 바깥쪽의 classid에 해당하는 플러그인이 인식이 안되기(IE전용) 때문에 오브젝트를 로딩하는데 실패를 하게 되고 대체내용(fallback)인 하위 오브젝트를 블러오게 된다.
컨디셔널 코멘트는 IE 전용의 코드이기 때문에 영향을 받지 않고 주석으로 처리 된다. 하위 오브젝트안의 이미지는 플래시 플레이어가 없을 경우의 대체 내용을 제공한 것이다.여기에서 !--[if !IE] -- 이 컨디셔널 코멘트가 꼭 필요한건지... 어차피 안쪽에 있는 오브젝트는 바깥쪽에 있는 오브젝트가 실패 했을경우실행되는게 아닌가요? IE에서는 classid로 플래시가 로딩이 되고 표준 브라우저에서는 classid 되신 안쪽 오브젝트가 실행되고...컨디셔널 코멘트를 빼고 IE,파폭에서 테스트 해봐도 오브젝트는 한번만 실행되는거 같은데요...?
-
살랑살랑
아... 그렇군요.. IE6은 확인을 안해봤네요^^
-
아라
IE6이 표준대로 작동하지 않기 때문에 컨디셔널 코멘트를 넣지 않으면 플래시가 두개가 나옵니다. 표준대로 한다면 없어도 되지만 IE 때문에 들어간 구문입니다.