Adobe [드림위버/웹접근성] swf 파일 HTML 삽입시 웹표준에 적합하게 사용하기
페이지 정보
본문
Flash 에서 object 대체코드 및 embed 대체하기 (W3C권장 : )
기존
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="728" height="277">
<param name="movie" value="sub.swf" />
<param name="quality" value="high" />
<embed src="sub.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="728" height="277"></embed></object>
수정후
<object type="application/x-shockwave-flash" data="sub.swf" width="728" height="174">
<param name="movie" value="sub.swf" />
<param name="wmode" value="transparent" /><!-- 배경을 투명하게 -->
swf 파일의 내용을 간결하게 적습니다.<!-- object 에 사용된 내용을 간결하게 -->
<img src="img_url.jpg" width="728" height="174" alt="이미지설명" /><!-- object 작동 불능시 대체 -->
</object>
--- 2013-11-14 웹표준 관련 개정 SWF 적용하기 개정판 ---
플래시를 표현할때 embed 를 사용하지 말라고 하는데... IE 를 제외한 브라우저에서는 embed 를 사용함
즉, W3C 에서의 점검은 IE 를 기준으로 하므로 브라우저 종류를 점검해서 IE가 아닐때는 embed 가 작동하도록 함
1) ASP 일때
<%
Dim strUserAgent ' 브라우저 타입
Dim Opera, Safari, Firefox ' 브라우저 종류 및 버전
strUserAgent = UCase(cstr(request.ServerVariables("HTTP_USER_AGENT")))
'Opera
Opera = FALSE
If InStr(strUserAgent, "Opera") then
Opera = TRUE
end If
'Safari, Chrome, Android
Safari = FALSE
If InStr(strUserAgent, "Safari") or InStr(strUserAgent, "SAFARI") then
Safari = TRUE
end If
'Firefox
Firefox = FALSE
If InStr(strUserAgent, "Firefox") or InStr(strUserAgent, "FIREFOX") then
Firefox = TRUE
end If
%>
<% if Safari or Firefox then %>
<embed src="/kr/swf/menu.swf" quality="high" wmode="transparent" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="682" height="65"></embed>
<% else %>
<object type="application/x-shockwave-flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="682" height="65" title="메뉴">
<param name="movie" value="/kr/swf/menu.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" /></object>
<% end if %>
참고자료
http://validator.w3.org/docs/help.html#faq-flash
http://alistapart.com/articles/flashsatay
기존
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="728" height="277">
<param name="movie" value="sub.swf" />
<param name="quality" value="high" />
<embed src="sub.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="728" height="277"></embed></object>
수정후
<object type="application/x-shockwave-flash" data="sub.swf" width="728" height="174">
<param name="movie" value="sub.swf" />
<param name="wmode" value="transparent" /><!-- 배경을 투명하게 -->
swf 파일의 내용을 간결하게 적습니다.<!-- object 에 사용된 내용을 간결하게 -->
<img src="img_url.jpg" width="728" height="174" alt="이미지설명" /><!-- object 작동 불능시 대체 -->
</object>
--- 2013-11-14 웹표준 관련 개정 SWF 적용하기 개정판 ---
플래시를 표현할때 embed 를 사용하지 말라고 하는데... IE 를 제외한 브라우저에서는 embed 를 사용함
즉, W3C 에서의 점검은 IE 를 기준으로 하므로 브라우저 종류를 점검해서 IE가 아닐때는 embed 가 작동하도록 함
1) ASP 일때
<%
Dim strUserAgent ' 브라우저 타입
Dim Opera, Safari, Firefox ' 브라우저 종류 및 버전
strUserAgent = UCase(cstr(request.ServerVariables("HTTP_USER_AGENT")))
'Opera
Opera = FALSE
If InStr(strUserAgent, "Opera") then
Opera = TRUE
end If
'Safari, Chrome, Android
Safari = FALSE
If InStr(strUserAgent, "Safari") or InStr(strUserAgent, "SAFARI") then
Safari = TRUE
end If
'Firefox
Firefox = FALSE
If InStr(strUserAgent, "Firefox") or InStr(strUserAgent, "FIREFOX") then
Firefox = TRUE
end If
%>
<% if Safari or Firefox then %>
<embed src="/kr/swf/menu.swf" quality="high" wmode="transparent" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="682" height="65"></embed>
<% else %>
<object type="application/x-shockwave-flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="682" height="65" title="메뉴">
<param name="movie" value="/kr/swf/menu.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" /></object>
<% end if %>
참고자료
http://validator.w3.org/docs/help.html#faq-flash
http://alistapart.com/articles/flashsatay
댓글목록
등록된 댓글이 없습니다.