<?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>HTML/CSS Evangelist &#187; Flash</title>
	<atom:link href="http://banzalik.ru/category/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://banzalik.ru</link>
	<description>Размышления на тему HTML верстки</description>
	<lastBuildDate>Mon, 17 May 2010 11:54:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Флеш на сайте и корпоративный файервол.</title>
		<link>http://banzalik.ru/flash-in-sites/</link>
		<comments>http://banzalik.ru/flash-in-sites/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 20:15:13 +0000</pubDate>
		<dc:creator>Александр Бойченко</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://banzalik.ru/?p=152</guid>
		<description><![CDATA[Вчера наткнулся на статью Сергея Чикуёнка &#8211; &#171;Почему сайты на флэше — это плохо&#171;. Мысль Сергея понятна и я ее абсолютно поддерживаю, однако меня обеспокоила одна из причин, по которой Сергей считает  флэш &#8211; злом. Суть ее в том, что злые админы крупных (и не очень) компаний блокируют flash на уровне корпоративного файервола, что доставляет [...]]]></description>
			<content:encoded><![CDATA[<p>Вчера наткнулся на статью <a href="http://chikuyonok.ru/2009/03/flash-sites-are-bad/">Сергея Чикуёнка &#8211; &laquo;Почему сайты на флэше — это плохо</a>&laquo;. Мысль Сергея понятна и я ее абсолютно поддерживаю, однако меня обеспокоила одна из причин, по которой Сергей считает  флэш &#8211; злом. Суть ее в том, что злые админы крупных (и не очень) компаний блокируют flash на уровне корпоративного файервола, что доставляет не мало хлопот веб разработчикам. На этот счет у меня есть идея с которой я бы и хотел поделиться с общественностью.</p>
<p><span id="more-152"></span></p>
<p>Конечно же flash мы будем вставлять моим любимым <a href="http://code.google.com/p/swfobject/">swfobject</a>-ом ( кстати  на базе swfobject я создал еще более гибкий способ вставки флэша в html страницу, но об этом я расскажу как-нибудь в следующий раз).</p>
<p><strong>Задача.</strong></p>
<p>Детектировать случаи блокировки флэша корпоративным файерволом, в случаи обнаружения подобной ситуации показывать <span style="text-decoration: line-through;">фигу</span> альтернативный контент.</p>
<p><strong>Решение.</strong></p>
<p>Первое, что пришло в голову это использовать давнюю методику, которую я применял для определения наличия флэша у посетителя еще в те времена, когда swfobject еще даже не существовал :) Суть ее в том, что в страницу встраивается флэшка размером 1х1 пиксель, при загрузке которой она сообщала о своем существовании, в данном случаи она будет общаться с яваскриптом.</p>
<p>Для начала создаем swf файл, который содержит следующий код:</p>
<p><code>getURL("javascript:firewallDisable();");</code></p>
<p>Данный листинг вызывает яваскрипт функцию firewallDisable(), которая в свою очередь запустит swfobject код основной флэшки (флэшек). К слову, размер файла-детектора 66 байт. <a href="http://banzalik.ru/labs/chi-flash/step1.html">Пример работы</a> данной флэшки, вызывается alert с сообщением о том, что все хорошо :) Хочу заметить, что данное решение не будет работать в том случаи, если злые админы еще и чистят html от явакрипта.</p>
<p><em>Мысли вслух:  можно во флэш &laquo;зашить</em><em>&laquo;</em><em> яваскририт код и скармливать его тем, у кого админы чистят javascript средствами фаервола, но при этом оставляют флэш.  Да можете считать меня извращенцем, но это будет работать у конечного пользователя :-)<br />
</em></p>
<p>Попробуем добавить вторую (основную) флэшку, вот  <a href="http://banzalik.ru/labs/chi-flash/">пример</a> того, как это будет работать.</p>
<p>Я создал вторую флэшку под названием test.swf, в первом кадре которой вызываю javascript функцию flashInsert, которая в свою очередь говорит нам о том, что основной swf файл загружен и вставлен на страницу и повторно его <span style="text-decoration: line-through;">пинать</span> вставлять средствами детектора  не надо (возможны варианты, когда детектор загрузится после основой флэшки и захочет ее перезаписать, нам ведь это не надо?).</p>
<p>Конечно же всем интересно посмотреть как работает страница когда включен корпоративный файервол, для этих целей я создал еще одну <a href="http://banzalik.ru/labs/chi-flash/noflash.html">страницу</a>, swf файлы которой имеют нулевой размер.</p>
<p>Конечно данное решение надо еще допиливать для варианта отключенного яваскрипта, но уже не в рамках этой статьи.</p>
<p><em>P.S. Я не сомневаюсь в том, что аналогичные решения возникали и у разработчиков студии Лебедева, но они по каким-либо причинам решили их не использовать.</em><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://banzalik.ru/flash-in-sites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
