<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Kimkijeung.com &#187; flash detection</title>
	<atom:link href="http://kimkijeung.com/tag/flash-detection/feed/" rel="self" type="application/rss+xml" />
	<link>http://kimkijeung.com</link>
	<description>Interactive development,flash,Actionscript,Unity</description>
	<lastBuildDate>Sun, 24 Apr 2011 18:59:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Flash Player Detection</title>
		<link>http://kimkijeung.com/2007/07/10/flash-player-detection/</link>
		<comments>http://kimkijeung.com/2007/07/10/flash-player-detection/#comments</comments>
		<pubDate>Mon, 09 Jul 2007 16:28:01 +0000</pubDate>
		<dc:creator>vkimone</dc:creator>
				<category><![CDATA[Flash-Tip]]></category>
		<category><![CDATA[express install]]></category>
		<category><![CDATA[flash detection]]></category>
		<category><![CDATA[SWFObject]]></category>

		<guid isPermaLink="false">http://vkimone.inblog.kr/?p=473</guid>
		<description><![CDATA[flash player 9 가 발표된지도 1년이 훌쩍 지난 시점이지만 정식으로 flash CS 가 발표된지 얼마 지나지 않았기 때문에 아직까지는 개발자들의 as3.0 사용빈도도 적을뿐더러 사용자들의 pc 에 설치되어있는 flash player 버전이 8.0 이하 버전들도 상당수 존재한다. flash player 보급률 통계(adobe flash player penetration)에 따르면 현재(2007.3) 80% 정도로 배포되어있다. 물론 상당한 배포율이지만 소수의 사용자들을 고려한다면 원하는 컨텐츠를 [...]]]></description>
			<content:encoded><![CDATA[<p>flash player 9 가 발표된지도 1년이 훌쩍 지난 시점이지만 정식으로 flash CS 가 발표된지 얼마 지나지 않았기 때문에 아직까지는 개발자들의 as3.0 사용빈도도 적을뿐더러 사용자들의 pc 에 설치되어있는 flash player 버전이 8.0 이하 버전들도 상당수 존재한다.<br />
flash player 보급률 통계(<a href="http://www.adobe.com/products/player_census/flashplayer/version_penetration.html" target="_blank">adobe flash player penetration</a>)에 따르면 현재(2007.3) 80% 정도로 배포되어있다. 물론 상당한 배포율이지만 소수의 사용자들을 고려한다면 원하는 컨텐츠를 사용자에게 보여주지 못하는 정도가 무시못할 수치이다.</p>
<p>이렇듯 새로운 버전의 flash player가 발표될때 마다 개발자들은 사용자들이 가지고 있는 flash player 버전을 고려하여 개발을 하고 그것에 맞는 flash player 가 설치 되어있는지의 여부를 체크해야만 한다. 그렇지 않다면 하위버전의 flash player 를 가졌거나 아예 없는 사용자가 사이트를 방문했을 시 영문도 모른 채 빈 화면만 보게 될 것이다.</p>
<p>이전에도 이런 문제를 해결하기 위해 많은 노력이 있었지만 아직 100% 완벽하게 처리할 수 없는 점이 존재한다. 개개인 사용자들의 브라우저 보안설정이나 운영체제의 상이함으로 인해 똑같은 결과를 얻지 못하는 경우가 종종 발생한다.</p>
<p>이글에서는 기존의 방법들중에서 가장 사용하기 편하면서 널리 이용되고 있는 SWFObject 라는 flash embed script 를 이용하여 player 버전체크 뿐만아니라 직접 install 하는 과정을 소개한다.</p>
<p>우선 flash player detection 과정은 크게 3단계로 구분된다.</p>
<p><strong>첫째, 브라우저에서 javascript 사용가능 체크.<br />
둘째, flash player 설치여부.<br />
셋째, flash player 버전 체크.</strong><br />
몇몇 일부 사용자들은 브라우저의 javascript 기능을 꺼놓은 경우가 있다.  이럴경우 javascript 를 사용하여 flash detection 을 하는 과정이나 html에 swf 파일을 임베드 하는 과정이 전혀 작동하지 않게 된다. 따라서 가장 먼저 사용자 브라우저의 javascript 기능의 활성화 여부를 체크해야만 한다.<br />
이 단계에서는 간단히 &lt;noscript&gt;&lt;/noscript&gt; 이용하여  대체 메시지를 출력하여 처리하면 된다.</p>
<p>player 설치 체크와 버전 체크는  SWFObject 에서 처리해 준다.<br />
또한 window 뿐만 아니라 mac 의 주요 웹 브라우저의 flash plugin 감지도 지원해준다.<br />
실제 mac 용 브라우저인 safari, opera 등에서도 문제없이 작동되었다.<br />
자세한 SWFObject  사용법은 이전 포스트 나 아래 관련 링크를 참고하면 된다.</p>
<p><strong>&lt;html code&gt;</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;script src=&quot;swfobject.js&quot; type=&quot;text/javascript&quot;&gt;&lt;!--mce:0--&gt;&lt;/script&gt;
&lt;div id=&quot;flashcontent&quot;&gt;
  &lt;script type=&quot;text/javascript&quot;&gt;&lt;!--mce:1--&gt;&lt;/script&gt;&lt;/div&gt;
&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--mce:2--&gt;&lt;/script&gt;
 &lt;noscript&gt;
   This content requires  a browser with JavaScript enabled.
 &lt;/noscript&gt;</pre></div></div>

<p>위 코드는 flash embed 코드이다. SWFObject 에서는 요구하는 버전이 아니거나 존재하는 않을경우  flash 페이지를 대신할 수 있는 div tag 를 제공하는데 이곳에 대체 텍스트나 이미지를 넣어 사용자에게 상황에 맞는 적절한 정보를 제공할 수 있다.<br />
그리고 하단부분에 noscript 태그가 존재하는데 이는 javascript 를 쓸수 없을 경우 실행되는 부분이다.<br />
지금까지는 단순히 적절한 flash player 가 설치되어있는지의 여부를 판단하고 그에 대한 정보를 제공하는 것이 전부였다. 위 코드에 걸리는 사용자는 아마 제공하는 컨텐츠보다 player 버전이 낮을 경우가  대부분일 것이다. 즉, 사이트를 볼수 없는 사용자들 중에는 자바스크립트를 비활성으로 하거나 player 가 아예 설치되어있지 않을 경우보다 설치되어있는 player 의 하위버전으로 인한 문제가 대부분이다. 따라서 좀더 친숙하게 사용자에게 접근하려면 버전체크로 끝나는 것이 아니라 설치까지도 제공해 줄 필요가 있다.</p>
<p>이를 위해 Adobe 에서는  Express Install 을 제공해준다. 이는 플래시 파일내에서 직접 flash player<br />
업그레이드를 진행해 주는 것이다.</p>
<p>SWFObject 에서도 Express Install 을 사용할 수 있게 메소드를 제공해 준다.<br />
<strong><span style="color: #993366;">so</span>.<span style="color: #993366;">useExpressInstall</span>(<span style="color: #ff3399;">&#8216;expressinstall.swf&#8217;</span>); </strong></p>
<p><strong> </strong></p>
<p>위와 같이 사용하면 expressinstall.swf 가 업그레이드를 진행하는 부분으로 반드시 player 버전이<br />
6.0.65 이상으로 작업되어야 한다. 만약 flash player 버전이 9.0 보다 낮을경우 아래와 같은 화면이 보일것이다.</p>
<p>첨부 파일을 확인하면 원하는 형태로 디자인을 변경하여 업그레이드를 진행할 수 있다.<br />
단, express install 을 사용하려면  Adobe 에서 제공하는 업그레이드 과정에서 생성되는 메시지<br />
창의 크기때문에 최소 214*137 px 로 제작해야한다.</p>
<p><strong><br />
</strong></p>
<p><strong><a href="/blog/wp-content/uploads/2007/07/expressinstall.zip" target="_self">download sample</a><br />
</strong></p>
<p><strong>&lt;Installer and UnInstaller&gt;</strong><br />
<a href="/blog/wp-content/uploads/2007/07/window_flash_plugin.zip" target="_self">Window version</a><br />
<a href="/blog/wp-content/uploads/2007/07/mac_flash_plugin.zip" target="_self">Mac version</a></p>
<p><strong>&lt;Related articles&gt;<br />
</strong><a href="http://www.adobe.com/devnet/flash/articles/fp8_detection_02.html" target="_blank">Best Practices for Flash Player Detection</a><br />
<a href="http://blog.deconcept.com/swfobject/#expressinstall" target="_blank">Using Express Install with SWFObject</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kimkijeung.com/2007/07/10/flash-player-detection/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

