<?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>Каскадика &#187; Scripting</title>
	<atom:link href="http://cascadi.ca/category/scripting/feed/" rel="self" type="application/rss+xml" />
	<link>http://cascadi.ca</link>
	<description>Парад тегов</description>
	<lastBuildDate>Wed, 30 Nov 2011 15:59:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0-alpha</generator>
		<item>
		<title>min-width и max-width для IE6 одновременно</title>
		<link>http://cascadi.ca/css/ie6-min-max-width/</link>
		<comments>http://cascadi.ca/css/ie6-min-max-width/#comments</comments>
		<pubDate>Mon, 15 Oct 2007 09:37:05 +0000</pubDate>
		<dc:creator>Curly Brace</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.webmakerslounge.com/css/ie6-min-max-width/</guid>
		<description><![CDATA[Используя выражения в CSS-файле для Internet Explorer 6, можно добиться поведения, которое все нормальные браузеры уже давно умеют, а именно min-width и max-width свойства для блока:
#someblock{
width:expression(((document.documentElement.clientWidth &#124;&#124;?
document.body.clientWidth) < 990) ? '990px' : ?
((document.body.clientWidth > 1280) ? '1280px' : '100%'));
} 
Данная&#160;&#8230; <a href="http://cascadi.ca/css/ie6-min-max-width/">Читать&#160;дальше&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Используя выражения в CSS-файле для Internet Explorer 6, можно добиться поведения, которое все нормальные браузеры уже давно умеют, а именно <strong>min-width</strong> и <strong>max-width</strong> свойства для блока:</p>
<pre><code>#someblock{
width:expression(((document.documentElement.clientWidth ||?
document.body.clientWidth) < 990) ? '990px' : ?
((document.body.clientWidth > 1280) ? '1280px' : '100%'));
} </code></pre>
<p>Данная заметка является скорее чем-то вроде self-note, но вдруг будет полезна и вам.</p>
<p>P.S. Не забывайте выносить стили для IE в отдельные файлы с помощью <a href="http://www.webmakerslounge.com/css/zamena-fayla-stiley-dlya-ie/">Conditional Comments</a> и будет вам счастье :)</p>
<p><strong>Upd.:</strong></p>
<p>После общения с <a class="out" href="http://uggallery.audiopeace.ru/">uggallery</a> в коментариях, было решено оптимизировать скрипт так, чтобы не использовать<strong> expressions</strong>, из-за которых частенько подвисает браузер. Вот что из этого получилось:</p>
<p>Так как скрипт нужен нам только для IE6, выделяем его с помощью Conditional Comments. Скрипт срабатывает на двух событиях &#8211; <strong>onload</strong> и <strong>onresize</strong>, что не обязательно:</p>
<pre><code class="javascript"> &lt;!--[if lte IE 6]&gt;
&lt;script type="text/javascript"&gt;
window.attachEvent(‘onload’, mmwidth);
window.attachEvent(‘onresize’, mmwidth);
function mmwidth(){
document.getElementById(‘wrap’).style.width = ?
((document.documentElement.clientWidth || ?
document.body.clientWidth) &lt; 990) ? ‘190px’ :?
((document.body.clientWidth &gt; 1280) ? ‘1000px’ : ‘1000px’);
};
&lt;/script&gt;
&lt;![endif]--&gt; </code></pre>
<p>Все что нужно сделать &#8211; это подставить <strong>id</strong> нужного вам элемента, ну и конечно значения максимальной и минимальной ширины. <strong>document.body.clientWidth</strong> соответственно тоже меняйте по вкусу.</p>
<p>Скрипт на оригинальность не претендует, да по большому счету от <strong>expression</strong> и не отличается, просто вынесен из CSS. Знаете как сделать лучше? Нашли ошибку? Коментируйте.</p>
<p>За идею спасибо <a class="out" href="http://uggallery.audiopeace.ru/">uggallery</a>, за консультацию <strong>copyhold</strong>&#8216;у.</p>
<p><a href="/files/min-max-width-ie6.html">Рабочий пример</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cascadi.ca/css/ie6-min-max-width/feed/</wfw:commentRss>
		<slash:comments>54</slash:comments>
		</item>
		<item>
		<title>Забыть о target</title>
		<link>http://cascadi.ca/html/forget-about-target-attribute/</link>
		<comments>http://cascadi.ca/html/forget-about-target-attribute/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 09:57:17 +0000</pubDate>
		<dc:creator>Curly Brace</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.webmakerslounge.com/html/forget-about-target-attribute/</guid>
		<description><![CDATA[Гениальный в своей простоте способ заставить ссылку открыться в новом табе/окне, не используя deprecated атрибут target:
< а onclick="return !window.open(this.href)" hrеf="http://www.google.com">
Преимущества этого способа перед обычным open.window(url) в том, что если javascript отключен, то ссылка все равно сработает. Кроме того, ссылка будет&#160;&#8230; <a href="http://cascadi.ca/html/forget-about-target-attribute/">Читать&#160;дальше&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Гениальный в своей простоте способ заставить ссылку открыться в новом табе/окне, не используя <acronym style="border-bottom: 1px dotted #333333; cursor: help" title="нежелательный по схеме XHTML 1 Strict">deprecated</acronym> атрибут <strong>target</strong>:</p>
<pre><code>< а onclick="return !window.open(this.href)" hrеf="http://www.google.com"></code></pre>
<p>Преимущества этого способа перед обычным <strong>open.window(url)</strong> в том, что если javascript отключен, то ссылка все равно сработает. Кроме того, ссылка будет проиндексирована поисковиками.</p>
<p>Проверено в FF2, IE6/7, Opera 9.20, Safari/Win.</p>
<p><strong>Поведение браузеров при нажатии Ctrl+Click / Shift+Click:</strong><br />
В IE6 &#8211; в обоих случаях новое окно.<br />
В IE7 &#8211; в обоих случаях новый таб (подозреваю что зависит от настроек браузера)<br />
В FF2 &#8211; неадекват. ctrl+click открывает две вкладки, shift+click вкладку и окно<br />
Opera &#8211; в обоих случаях новый таб<br />
Safari/Win &#8211; в обоих случаях новое окно</p>
<p>При нажатии колесиком мышки ссылка срабатывает как обычно везде, кроме IE6, естественно.</p>
<p>In general, не стоит принуждать посетителей к чему-либо, предпочтительнее дать посетителю знать какого рода сама ссылка (файл [включая тип], внешняя/окно) с помощью иконок, которые можно легко прикрутить с помощью CSS, на пример <a class="out" href="http://www.hunlock.com/blogs/Attach_icons_to_anything_with_CSS">вот так</a>, тем самым давая ему возможность выбрать самому, где ее открыть.</p>
]]></content:encoded>
			<wfw:commentRss>http://cascadi.ca/html/forget-about-target-attribute/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Быстро и просто внедряем PNG в дизайн сайта</title>
		<link>http://cascadi.ca/scripting/png-ie-fix/</link>
		<comments>http://cascadi.ca/scripting/png-ie-fix/#comments</comments>
		<pubDate>Sat, 14 Jul 2007 21:32:35 +0000</pubDate>
		<dc:creator>Curly Brace</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.webmakerslounge.com/useful-scripts/png-ie-fix/</guid>
		<description><![CDATA[В последнее время появилось не мало способов корректно использовать формат PNG в дизайне сайтов. Не вдаваясь в детали скажу что формат  PNG  был разработан в свое время  на смену формату GIF, в то время еще защищенному авторскими&#160;&#8230; <a href="http://cascadi.ca/scripting/png-ie-fix/">Читать&#160;дальше&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>В последнее время появилось не мало способов корректно использовать формат <a class="out" href="http://en.wikipedia.org/wiki/PNG">PNG</a> в дизайне сайтов. Не вдаваясь в детали скажу что формат  PNG  был разработан в свое время  на смену формату GIF, в то время еще защищенному авторскими правами (сейчас уже свободному).</p>
<p>PNG корректно поддерживается всеми современными браузерами, кроме до сих пор доминирующего (здесь я всплакнул) Internet Explorer 6. То есть IE6, конечно поддерживает (читай воспроизводит) PNG, но не поддерживает полупрозрачность. А это, на равне с поддержкой 16-ти миллионов цветов, основное преимущество PNG над GIF. <span id="more-103"></span></p>
<pre><code>Справедливости ради, стоит заметить что отказаться от GIF
в пользу PNG не получится, так как PNG не поддерживает анимацию,
да и вес иногда оставляет желать лучшего.</code></pre>
<p>Недавно, борясь со сложной версткой, в которой присутствовали иконки с тенями на фоне хитрого градиента я подумал, а почему бы не задействовать PNG? И полез рыть Сеть. Оказалось что есть несколько способов внедрить сей замечательный формат. Я конечно поделюсь <a class="out" href="http://tigir.com/alpha_png.htm">ссылками</a> на <a class="out" href="http://designformasters.info/posts/creative-use-of-png-transparency/">найденое</a>, но здесь приведу описание самого простого на мой взгляд способа &#8220;включения&#8221; PNG в дизайн сайта.</p>
<p>Этот способ, в отличии от других не использует javascript, a основан на <a class="out" href="http://msdn2.microsoft.com/en-us/library/ms531018.aspx">.htc</a> скрипте, который нужен нам только для IE 6 и IE 5.5 для корректного отображения полупрозрачности. Скрипт никак не повлияет на остальные браузеры.</p>
<p>Все что нужно сделать для того чтобы скрипт заработал, это прописать в css-файле для IE6 вот эту строку:</p>
<pre><code>img {
behavior: url(iepngfix.htc)
}</code></pre>
<p>Если вы не используете отдельный файл стилей для Интернет Эксплорера с помощью Conditional Comments, рекомендую использовать Star HTML хак:</p>
<pre><code>* html img {
behavior: url(iepngfix.htc)
}</code></pre>
<p>Затем положить сам файл <a href="/files/iepngfix.htc">iepngfix.htc</a> туда где вам удобно, в пределах домена (скрипт не может быть вызван с другого домена в целях безопасности), и изменить путь к нему в CSS.</p>
<p>Еще один момент. Для корректной работы скрипта нужен однопиксельный прозрачный blank.gif, который можно взять <a href="/files/blank.gif">здесь</a> или сделать самому.</p>
<p>Если однопикслельный gif лежит не в той же папке что и .htc скрипт, то необходимо открыть iepngfix.htc, в начале файла найти строку</p>
<pre><code>// This must be a path to a blank image. That's all the configuration you need.
if (typeof blankImg == "undefined") var blankImg = "blank.gif";</code></pre>
<p>И изменить имя файла и путь к нему. Вот и все. Никаких дополнительных настроек и кода не нужно.</p>
<p><strong>Можно спокойно использовать PNG и как картинки и как фоновое изображение в дизайне ваших сайтов.</strong></p>
<p>В случае использования PNG для фоновых изображений, можно смело позиционировать его, повторять по обеим осям, в общем все как обычно.</p>
<p><a href="http://www.twinhelix.com/css/iepngfix/">Сайт</a> разработчика скрипта не изобилует обьяснениями, но они почти и не нужны ;) Пользуйтесь на здоровье.</p>
]]></content:encoded>
			<wfw:commentRss>http://cascadi.ca/scripting/png-ie-fix/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>Переключатель видимости блока в JS</title>
		<link>http://cascadi.ca/scripting/artlebedev-easter-egg/</link>
		<comments>http://cascadi.ca/scripting/artlebedev-easter-egg/#comments</comments>
		<pubDate>Tue, 29 May 2007 20:20:30 +0000</pubDate>
		<dc:creator>Curly Brace</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.webmakerslounge.com/news/artlebedev-easter-egg/</guid>
		<description><![CDATA[На сайте всем известного Артемия Лебедева, который любит пошутить, оставляя в сорсе своего сайта всевозможные неформатные комментарии, приколы и прочее, нашлось очередное &#8220;пасхальное яйцо&#8221;.
Фактически на любой странице сайта, при нажатии на Ctrl+A, справа от лого виден смайлик. Если на этот&#160;&#8230; <a href="http://cascadi.ca/scripting/artlebedev-easter-egg/">Читать&#160;дальше&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>На сайте всем известного <a class="out" href="http://www.artlebedev.ru">Артемия Лебедева</a>, который любит пошутить, оставляя в сорсе своего сайта всевозможные неформатные комментарии, приколы и прочее, нашлось очередное &#8220;пасхальное яйцо&#8221;.</p>
<p>Фактически на любой странице сайта, при нажатии на Ctrl+A, справа от лого виден смайлик. Если на этот смайлик нажать, то открывается список из десяти последних входящих ссылок на его сайт, с кратким описанием.</p>
<p>Симпатичная штучка, которая позволяет хоть на короткое время получить на свой сайт ссылку с сайта, у которого PR7. :) Естественно что это дело кешироваться поисковиками не успевает, так что толка чуть.</p>
<p>А реализовано это очень просто:</p>
<pre><code>&lt;а class="yr" hrеf="#yd" onclick="document.getElеmentById("yr").style.display = document.getElementById("yr").style.display== "none" ? "block" : "none"; return(false);"&gt;:-)&lt;/a&gt;
&lt;div id="yr" style="display:none;"&gt;
Some content&lt;/div&gt;</code></pre>
<p>Маахонький скриптик, который при нажатии на ссылку проверяет свойство <strong>display</strong> у заданного блока, и соответственно меняет его на противоположное. Никаких AJAX&#8217;ов, prototype&#8217;ов и прочая.</p>
]]></content:encoded>
			<wfw:commentRss>http://cascadi.ca/scripting/artlebedev-easter-egg/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Подсветка навигации</title>
		<link>http://cascadi.ca/css/navigation-highlight/</link>
		<comments>http://cascadi.ca/css/navigation-highlight/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 08:50:14 +0000</pubDate>
		<dc:creator>Curly Brace</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.webmakerslounge.com/css/navigation-highlight/</guid>
		<description><![CDATA[Каждому из нас свойственно знать где мы в данный момент находимся. И определяем мы это с помощью внешних &#8220;маркеров&#8221;, которые сигнализируют о нашем местоположении. Так же и в интернете. Когда мы заходим на тот или иной сайт и переходим со&#160;&#8230; <a href="http://cascadi.ca/css/navigation-highlight/">Читать&#160;дальше&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Каждому из нас свойственно знать где мы в данный момент находимся. И определяем мы это с помощью внешних &#8220;маркеров&#8221;, которые сигнализируют о нашем местоположении. Так же и в интернете. Когда мы заходим на тот или иной сайт и переходим со страницы на страницу, то не плохо было бы видеть на какой именно странице мы сейчас.</p>
<p align="center"><img alt="Navigation highlight" title="Navigation highlight" src="/images/posts/highlight.gif" /></p>
<p>Многие вэб-разработчики уделяют этому аспекту юзабилити не достаточно внимания или совсем не уделяют, не смотря на то что существует достаточно много способов для реализации &#8220;подсветки&#8221;.</p>
<p>Давайте рассмотрим несколько сравнительно не сложных примеров.<span id="more-92"></span></p>
<p><strong>Первый пример</strong>, который я хотел бы вам показать, основывается на том факте, что навигационное меню сайта как правило одинаковое на всех страницах. Соответственно, задав ему определенные параметры один раз, не нужно в дальнейшем изменять их на каждой новой странице.</p>
<p>Пример HTML кода меню:</p>
<pre><code>&lt;ul&gt;
&lt;li&gt;&lt;а hrеf="#" class="home"&gt;Home&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;а hrеf="#" class="about"&gt;About us&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;а hrеf="#" class="contact"&gt;Contact us&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p>Хитрость и простота одновременно в этом примере заключаются в том, чтобы задать уникальный <strong>id </strong>в тэге<strong> body</strong>, для каждой страницы сайта. <strong>Id</strong> страницы должен совпадать с названием класса элемента меню и тогда стили к этим элементам можно применять постранично:</p>
<pre><code>#home .home, #about .about, #about .about, #contact .contact{
color:red;  font-weight: bold; /*Стили на ваше усмотрение*/
}</code></pre>
<p>Получается что когда <strong>id</strong> страницы это &#8220;home&#8221;, то к элементу меню с классом <strong>.home</strong> применяются стили описанные выше. И так далее. Просто, правда?</p>
<p>Меня этот способ привлек тем, что в своей работе я использую <strong>id</strong> для тэга <strong>body</strong> очень часто и для меня реализация такой подсветки &#8211; описание одного стиля.</p>
<p><strong>Второй способ</strong>, который я хотел бы показать, использует JS для того чтобы найти на странице все ссылки с заданным класом, сравнивает <em>document.location</em> с аттрибутом <em>href</em> самой ссылки и если они совпадают &#8211; добавляет к ней класс, для которого описывается стиль.</p>
<p>Соответственно, нужно создать <strong>.js</strong> файл в котором будет описана функция:</p>
<pre><code>function highlight(){
var atags=document.getElementsByTagName("a");
for(var i=0;i
if(atags[i].className=="nav"){
if(document.location.href.indexOf(atags[i].href)!=-1){
atags[i].className="active";
}
}
}
}

</code></pre>
<p>Приаттачить файл к странице</p>
<pre><code>&lt;script type="text/javascript" srс="/js/highlight.js"&gt;&lt;/script&gt;</code></pre>
<p>и вызвать функцию при загрузке:</p>
<pre><code>&lt;body onload="highlight()"&gt;</code></pre>
<p>В самом меню у всех ссылок должен быть один и тот же класс <strong>nav</strong>, а стиль описывается для класса <strong>.active</strong>.</p>
<pre><code>&lt;a class="nav" hrеf="/about/"&gt;О проекте&lt;/a&gt;</code></pre>
<p>У каждого способа есть преимущества и недостатки. О том как &#8220;включить&#8221; подсветку навигации в Wordpress можно почитать в давней, но не потерявшей актуальность, статье Юры Артюха &#8220;<a class="out" title="Wordpress и подсветка навигации" href="http://cssing.org.ua/2005/03/28/highlight-navigation-wordpress/">Wordpress и подсветка навигации</a>&#8221; или в Кодексе WP <a class="out" href="http://codex.wordpress.org/Dynamic_Menu_Highlighting">по-английски</a>.</p>
<p align="center"><em>А какое решение используете вы? </em></p>
<p align="left">З.Ы. В попытке предвосхитить комментарии на тему того что у меня, мол, самого подсветки нет, скажу что работаю над этим :)</p>
]]></content:encoded>
			<wfw:commentRss>http://cascadi.ca/css/navigation-highlight/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>swfIR &#8211; Магические картинки</title>
		<link>http://cascadi.ca/scripting/swfir/</link>
		<comments>http://cascadi.ca/scripting/swfir/#comments</comments>
		<pubDate>Sun, 04 Mar 2007 07:24:41 +0000</pubDate>
		<dc:creator>Curly Brace</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.webmakerslounge.com/useful-scripts/swfir/</guid>
		<description><![CDATA[В последнее время утилиты &#8220;расширяющие возможности&#8221; HTML с помощью флэша и Javascript становятся весьма популярны. Например sIFR, о котором в Рунете уже не мало сказано и написано. sIFR &#8220;расширяет&#8221; возможности работы с текстом и делает это вполне успешно, а вот&#160;&#8230; <a href="http://cascadi.ca/scripting/swfir/">Читать&#160;дальше&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 0pt 10px 0pt 0pt; float: left" title="swfIR" alt="swfIR" src="/images/posts/swfir_logo.gif" />В последнее время утилиты &#8220;расширяющие возможности&#8221; HTML с помощью флэша и Javascript становятся весьма популярны. Например <a class="out" title="sIFR" href="http://www.mikeindustries.com/sifr/">sIFR</a>, о котором в Рунете уже не мало <a class="out" href="http://flack.ru/2006/02/17/how-and-when-to-use-sifr">сказано</a> и <a class="out" href="http://www.umade.ru/log/2005/07/90.html">написано</a>. sIFR &#8220;расширяет&#8221; возможности работы с текстом и делает это вполне успешно, а вот swfIR наоборот, работает с изображениями.</p>
<p>С помощью <a class="out" title="swfIR" href="http://www.swfir.com/">swfIR</a> можно легко и быстро масштабировать изображения, вращать их , растягивать по координатам, добавлять настраиваемые тени и рамки. Про кроссбраузерность и валидность кода я даже не упоминаю &#8211; для такого рода проектов это уже стало стандартом де-факто.</p>
<p>Настройка и подключение swfIR субьективно проще чем у sIFR, все что нам нужно это:<span id="more-80"></span></p>
<p>1. Скачать swfIR с <a class="out" href="http://www.swfir.com/mint/pepper/tillkruess/downloads/download.php?uri=/files/swfir_v1.zip">офф.сайта</a> или <a href="/files/swfir_v1.zip">у меня</a>.</p>
<p>2. Залить на сервер файлы <strong>swfir.js</strong> и <strong>swfir.swf</strong> в одну директорию с HTML файлом где swfIR будет использован. При желании можно заливать файлы и в другую папку, просто нужно будет указать в скрипте в какую.</p>
<p>3. Вызвать скрипт на странице:</p>
<pre><code>&lt;head&gt;
&lt;script type="text/javascript" srс="swfir.js"  &gt;&lt;/script&gt;
&lt;/head&gt;</code></pre>
<p>4. Указать нужные стили и параметры для отображения. Делать это нужно в самом конце HTML-документа подобным образом:</p>
<pre><code>&lt;script type="text/javascript"&gt;
window.onload = function()
{
var sir = new swfir();
sir.specify("border-width", "20");
sir.specify("border-color", "fff");
sir.swap("#example img");
}
&lt;/script&gt;</code></pre>
<p>Список изменяемых параметров для swfIR:</p>
<ul>
<li>border-radius    = Number</li>
<li>border-width     = Number</li>
<li>border-color     = CSS Styled Color (i.e. fc600)</li>
<li>shadow-offset    = Number</li>
<li>shadow-angle     = Number</li>
<li>shadow-alpha     = Number between 0 &#8211; 100</li>
<li>shadow-blur-x    = Number</li>
<li>shadow-blur-y    = Number</li>
<li>shadow-strength  = Number</li>
<li>shadow-color     = CSS Styled Color (i.e. fc600)</li>
<li>shadow-quality   = Number between 0 &#8211; 1</li>
<li>shadow-inner     = Boolean (true or false)</li>
<li>shadow-knockout  = Boolean (true or false)</li>
<li>shadow-hide      = Boolean (true or false)</li>
<li>rotate           = Number between -359 &#8211; 359</li>
<li>overflow         = expand-x, expand-y or fit</li>
<li>link             = String (i.e. http://www.swfir.com)</li>
<li>src              = String (path to your swf, if not standard)</li>
<li>wmode            = String (opaque, transparent, etc.)</li>
<li>elasticity       = String (true), Number (pixel-to-em ratio)</li>
</ul>
<p>Для затравки приведу немного примеров: <a class="out" href="http://www.swfir.com/examples/elastic/">1 &#8211; эластичная картинка</a>, <a class="out" href="http://www.swfir.com/examples/rotate/">2 &#8211; повернутая картинка в тексте</a>, <a class="out" href="http://www.swfir.com/examples/rounded/">3 &#8211; картинка с закругленными уголками</a>, <a class="out" href="http://www.swfir.com/examples/multiple/">4 &#8211; работа с несколькими картинками</a>.</p>
<p>Не обошлось и без ложки дегтя:</p>
<ol>
<li>Форсированое масштабирование в Opera убивает браузер.</li>
<li>alt не сохраняется при замене картинок через swfIR</li>
<li>Контекстное меню изображений не работает.</li>
</ol>
<p>Разработчики клятвенно обещают все исправить, ссылаясь на то что ничто не совершенно :)<br />
В общем и целом, на фоне несомненных достоинств, в глаза бросается некоторая недоработанность проекта, мелкие шероховатости и отсутствие толковой документации, но исходя из того что это первая версия, хочется надеяться что проект будет развиваться и дальше, и все недочеты будут исправлены.</p>
<p>С удовольствием послушаю о вашем опыте работы с <a class="out" href="http://www.swfir.com/">swfIR</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cascadi.ca/scripting/swfir/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Антилич на картинки через .htaccess</title>
		<link>http://cascadi.ca/scripting/htaccess-for-leachers-and-hotlinkers/</link>
		<comments>http://cascadi.ca/scripting/htaccess-for-leachers-and-hotlinkers/#comments</comments>
		<pubDate>Fri, 19 Jan 2007 17:44:47 +0000</pubDate>
		<dc:creator>Curly Brace</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.webmakerslounge.com/useful-scripts/htaccess-for-leachers-and-hotlinkers/</guid>
		<description><![CDATA[
Очень часто недобросовестные ведущие некоторых развлекательных сайтов да и некоторые блоггеры, в целях экономии траффика, вместо того чтобы сослаться на понравившиеся картинки или хотя бы пересохранить их у себя на сервере, просто тянут их к себе прямо с вашего сайта,&#160;&#8230; <a href="http://cascadi.ca/scripting/htaccess-for-leachers-and-hotlinkers/">Читать&#160;дальше&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img style="float:right;" src="/images/posts/htaccess.jpg" alt="htaccess" /></p>
<p>Очень часто недобросовестные ведущие некоторых развлекательных сайтов да и некоторые блоггеры, в целях экономии траффика, вместо того чтобы сослаться на понравившиеся картинки или хотя бы пересохранить их у себя на сервере, просто тянут их к себе прямо с вашего сайта, или как говорится &#8220;личат&#8221;.</p>
<p>Обычно об этом узнают по резко возросшему траффику или по количеству обращений к файлу, которое не соответствует количеству посетителей. А так как траффик отдавать просто так обидно, да и злостных личеров стоит наказать, то проблему надо решать. Есть много способов.</p>
<ul>
<li>Можно просто &#8220;тупо&#8221; переименовать картинки или сменить к ним путь.</li>
<li> Можно установить софт-антилич от стороннего разработчика, что не всегда просто, не всегда бесплатно и не всегда дает нужные результаты.</li>
<li> Можно прописать правило в файле <strong>.htaccess</strong>. Причем это можно сделать как для конкретного сайта, так и для всех, оставив к примеру только несколько разрешенных, таких как Google Images. Сегодня мы рассмотрим как это сделать через .htaccess.</li>
</ul>
<p><span id="more-54"></span></p>
<p><strong>Способ первый. Перекрываем кислород всем.</strong></p>
<pre><code class="apache">

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?вашсайт\.ru/ [nc]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?google\.com/ [nc] - доступ Гуглю открыт
RewriteRule .*\.(gif|jpg|png)$ http://вашсайт.ru/images/hotlinkers.jpg [nc]
RewriteRule \.(jpe?g|gif|png)$ - [F] - эту строчку можно подставить вместо последней, чтобы перенаправлять на 403 Forbidden вместо картинки.
</code></pre>
<p>Что собственно происходит? Когда к серверу идет запрос на файл с расширением (gif|jpg|png), и этот запрос не с вашего сайта, то запрашиватель отправляется прямиком к картинке http://вашсайт.ru/images/hotlinkers.jpg, которая может быть расположена по вашему усмотрению и на ней может быть все что угодно ;) Такой способ быстро отбивает охоту личить ваши картинки.</p>
<p><strong>Способ второй. Преступление и наказание.</strong></p>
<pre><code class="apache">
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(www\.)?zloylicher\.net/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?esheodin\.com/ [NC]
RewriteRule \.(jpeg|gif|png)$ images/hotlinkers.jpg [R,L]
</code></pre>
<p>В данном случае запрет на запрос к картинкам выдается только сайтам, злобным личерам, которые в свою очередь тоже идут лесом и смотрят на ту картинку, которую вы хотите им показать.</p>
<p>Вся разница в том, что в одном случае вы закрываете доступ всем, а во втором только личерам.</p>
<p><strong>Способ третий. Защищаем любые файлы.</strong></p>
<pre><code class="apache">
- здесь вписать нужные форматы
RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://(www\.)?zloylicher\.com/ [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?esheodin\.com/ [NC]
RewriteCond %{REQUEST_FILENAME} !hotlinkers.jpg$
RewriteRule .*\.(gif|jpe?g|png|bmp|pdf|zip|rar|mp3|js)$ http://www.mysite.com/images/hotlinkers.jpg [R]
</code></pre>
<p>Естественно не забываем прописать правильные названия сайтов и пути к файлам. Вариантов может быть много. Для ленивых есть вот <a class="out" href="http://www.htaccesstools.com/hotlink-protection/">неплохой .htaccess генератор</a>, который все делает сам, вам только нужно ввести домены и путь к картинке для личеров.</p>
]]></content:encoded>
			<wfw:commentRss>http://cascadi.ca/scripting/htaccess-for-leachers-and-hotlinkers/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Выпадающее меню</title>
		<link>http://cascadi.ca/css/vyipadayuschee-menyu/</link>
		<comments>http://cascadi.ca/css/vyipadayuschee-menyu/#comments</comments>
		<pubDate>Thu, 11 Jan 2007 08:07:39 +0000</pubDate>
		<dc:creator>Curly Brace</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://www.webmakerslounge.com/css/vyipadayuschee-menyu/</guid>
		<description><![CDATA[Создание многоуровнего выпадающего меню с помощью CSS, пары строчек Javascript, работающего корректно в Файрфоксе, Опере, Интернет Эксплорере и Сафари кажется вам непосильной задачей? Да ничего подобного!
Давайте развеем это заблуждение.
И так, для начала нам нужен список. Ведь большинство всех меню это&#160;&#8230; <a href="http://cascadi.ca/css/vyipadayuschee-menyu/">Читать&#160;дальше&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img align="right" style="margin-left: 10px" alt="Пример выпадающего меню" title="Пример выпадающего меню" src="/images/posts/drop-down.jpg" />Создание многоуровнего выпадающего меню с помощью CSS, пары строчек Javascript, работающего корректно в Файрфоксе, Опере, Интернет Эксплорере и Сафари кажется вам непосильной задачей? Да ничего подобного!</p>
<p>Давайте развеем это заблуждение.</p>
<p>И так, для начала нам нужен список. Ведь большинство всех меню это ни что иное как список ссылок.</p>
<p><span id="more-48"></span></p>
<pre><code>&lt;ul id="nav"&gt;
    &lt;li&gt;
    &lt;а hrеf="#"&gt;Percoidei&lt;/a&gt;
        &lt;ul&gt;
            &lt;li&gt;&lt;а hrеf="#"&gt;Remoras&lt;/a&gt;
                &lt;ul&gt;
                    &lt;li&gt;&lt;а hrеf="#"&gt;Echeneis&lt;/a&gt;&lt;/li&gt;
                    &lt;li&gt;&lt;а hrеf="#"&gt;Phtheirichthys&lt;/a&gt;&lt;/li&gt;
                    &lt;li&gt;&lt;а hrеf="#"&gt;Remora&lt;/a&gt;&lt;/li&gt;
                    &lt;li&gt;&lt;а hrеf="#"&gt;Remorina&lt;/a&gt;&lt;/li&gt;
                    &lt;li&gt;&lt;а hrеf="#"&gt;Rhombochirus&lt;/a&gt;&lt;/li&gt;
                &lt;/ul&gt;
            &lt;/li&gt;
            &lt;li&gt;&lt;а hrеf="#"&gt;Tilefishes&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;а hrеf="#"&gt;Bluefishes&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;а hrеf="#"&gt;Tigerfishes&lt;/a&gt;&lt;/li&gt;
            &lt;/ul&gt;
        &lt;/li&gt;
    &lt;li&gt;&lt;а hrеf="#"&gt;Anabantoidei&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p>Теперь у нас есть хорошо структурированый список. Добавим к нему немного стилей:</p>
<pre><code>#nav, #nav ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

#nav a {
    display: block;
    width: 10em;
}

#nav li {
    float: left;
    width: 10em;
}</code></pre>
<p>Для селектора   <code>#nav li</code> необходимо указать ширину, чтобы это корректно отображалось в Опере. Так же не забудьте указать <code>clear:left</code> для блока, который последует <u>за</u> меню, так как мы используем <code>float</code>.</p>
<p>Теперь нам необходимо само &#8220;выпадание&#8221;.  добавляем следующие стили:</p>
<pre><code>#nav li ul {
    position: absolute;
    width: 10em;
    left: -999em;
}

#nav li:hover ul {
    left: auto;
}</code></pre>
<p>Обратите внимание что здесь не используется <code>display:none</code>, для того чтобы сохранить максимальную доступность. Вместо него мы используем <code>left: -999em</code>. Это не обязательно и может быть легко заменено на <code>display:none</code>.</p>
<p>Вы конечно же обратили внимание на то, что у селектора <code>li</code>  описан псевдо класс <code>:hover</code>, который конечно же не будет работать в Интернет Эксплорере. Для того, чтобы заставить наше выпадающее меню работать в Интернет Эксплорере мы используем этот маленький скриптик:</p>
<pre><code>sfHover = function() {
var sfEls = document.getElementById("nav").getElementsByTagName("LI");
for (var i=0; i&lt;sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);</code></pre>
<p>Что делает этот скрипт? Он подменяет псевдо класс <code>:hover</code> для Интернет Эксплорера следующим способом. При событии <code>mouseOver</code> для элемента <code>li</code> скрипт добавляет ему класс <code>sfhover</code> для которого в свою очередь мы тоже должны прописать стиль. При событии <code>mouseOut</code> класс обнуляется.</p>
<pre><code>#nav li.sfhover ul{
    left: auto;
}</code></pre>
<p>Вот по большому счету и все. Теперь меню можно украсить и использовать.</p>
<p>Рабочий пример можно <a title="Выпадающее меню" href="/files/drop-down.html">скачать</a>.</p>
<p align="right" style="font-size: 0.7em">По материалам <a target="_blank" title="HTML Dog" href="http://www.htmldog.com">HTML dog</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cascadi.ca/css/vyipadayuschee-menyu/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Полосатые таблицы</title>
		<link>http://cascadi.ca/css/striped-tables/</link>
		<comments>http://cascadi.ca/css/striped-tables/#comments</comments>
		<pubDate>Tue, 09 Jan 2007 16:15:22 +0000</pubDate>
		<dc:creator>Curly Brace</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[XSLT]]></category>

		<guid isPermaLink="false">http://www.webmakerslounge.com/news/striped-tables/</guid>
		<description><![CDATA[С приходом семантической верстки, CSS и блоки все больше и больше теснят таблицы, как элемент верстки и таблицы на конец начали выполнять свою основную роль &#8211; отображение информации, сохраненной в рядах и колонках.
Таблица обычно несет в себе довольно много информации,&#160;&#8230; <a href="http://cascadi.ca/css/striped-tables/">Читать&#160;дальше&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>С приходом семантической верстки, CSS и блоки все больше и больше теснят таблицы, как элемент верстки и таблицы на конец начали выполнять свою основную роль &#8211; отображение информации, сохраненной в рядах и колонках.</p>
<p>Таблица обычно несет в себе довольно много информации, расположенной и отсортированой на довольно маленькой площади. Так почему бы не сделать чтение этой информации более приятным и легким?</p>
<p><img style="float: left; margin: 0 10px 10px 0" title="iTunes таблица" alt="iTunes таблица" src="/images/posts/itunes.png" />Попытаемся немного освежить вывод информации в таблицах. Ниже приведены три способа, позволяющие быстро создать полосатые таблицы за счет четных и нечетных рядов в таблице. Выбор за вами.</p>
<p><span id="more-46"></span></p>
<h3>Способ первый. Самый явный.</h3>
<p>Так как вариантов рядов у нас всего два, то указывать отдельно каждый не имеет смысла. Мы укажем только нечетные ряды. Соответственно все остальные будут четными ;)</p>
<p>Смотрим простой пример <a title="Пример кода"  href="/files/odd_example.html">здесь</a>.</p>
<blockquote><p>Основной недостаток в том, что нам надо явно прописывать в коде класс для рядов.</p>
</blockquote>
<h3>Способ второй. Динамический. </h3>
<p>В отличии от первого способа, который основан только на CSS, здесь применяется Javacript, который пробегает по всем рядам и ячейкам в указанной таблице и применяет к ним стили.</p>
<p>Пример смотрим <a title="Полосатые таблицы" href="/files/stripes.html">здесь</a>, в комментариях в коде присутствуют описания.</p>
<p>Чем хорош этот способ?</p>
<ul>
<li> Классы теперь можно использовать для каких-либо более конкретных задач, на пример выделение выбранного ряда.</li>
<li>&#8220;Заполосатить&#8221; теперь можно любую таблицу на любой странице где присутствует вызов функции.</li>
</ul>
<p>Знаете способ лучше? Пишите в комментариях.</p>
<h3>Способ третий. XSLT. </h3>
<p>В XSLT все на много проще. Нужно вписать в темплэйт условие, которое будет проверять tr на четность-нечетность и в зависимости от ваших нужд будет либо присваивать атрибут class или же будет выписывать стиль. На пример:</p>
<pre><code class="xml">&lt;tr&gt;
&lt;xsl:if test="(position() mod 2 = 1)"&gt;
&lt;xsl:attribute name = "style"&gt;background:#f4f4f4;&lt;/xsl:attribute&gt;
&lt;/xsl:if&gt;
&lt;td colspan="5"&gt;&lt;strong&gt;Заметки:&lt;/strong&gt;&lt;xsl:value-of select="text()"/&gt;&lt;/td&gt;
&lt;/tr&gt;</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://cascadi.ca/css/striped-tables/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Флэш детектор или Не бросим юзера в трудную минуту</title>
		<link>http://cascadi.ca/browsers/flash-detection-script/</link>
		<comments>http://cascadi.ca/browsers/flash-detection-script/#comments</comments>
		<pubDate>Wed, 03 Jan 2007 08:17:15 +0000</pubDate>
		<dc:creator>Curly Brace</dc:creator>
				<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Браузеры]]></category>

		<guid isPermaLink="false">http://www.webmakerslounge.com/useful-scripts/flash-detection-script/</guid>
		<description><![CDATA[Столкнулся я недавно по работе с такой темой &#8211; есть некая менюшка, сделаная на флэше, и вставленая в html-документ. Все просто, но есть один момент. Заказчик ну никак не желает терять ее функционал, вне зависимости от того, есть ли на&#160;&#8230; <a href="http://cascadi.ca/browsers/flash-detection-script/">Читать&#160;дальше&#160;<span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" style="margin-bottom: 10px; float: right;" title="Adobe flash detection" src="/images/posts/flash.jpg" alt="Adobe flash detection" />Столкнулся я недавно по работе с такой темой &#8211; есть некая менюшка, сделаная на флэше, и вставленая в html-документ. Все просто, но есть один момент. Заказчик ну никак не желает терять ее функционал, вне зависимости от того, есть ли на машине клиента флэш/javascript или нет. И он в принципе прав, не смотря на то что делать меню на флэше &#8211; изначально не верный подход.</p>
<p>Итак, что же нам нужно? Нужно создать еще одно меню, естественно XHTML/CSS, с картинками, которое будет загружаться в браузер клиента при отсутствии на его машине flash/javascript.  Да хотя бы даже  заменить  флэшевый баннер на  обычный, чтобы не терять  рекламу.  Я подготовил два простых решения, которые помогли мне и надеюсь, помогут  вам.<span id="more-43"></span></p>
<p><strong>Решение номер раз. SWFObject</strong></p>
<p>Geoff Stearns,  главный разработчик  компании  <a title="Schematic" href="http://www.schematic.com/" target="_blank">Schematic</a>,   создал и <a title="SWFObject " href="http://blog.deconcept.com/swfobject/" target="_blank">описал</a> у себя на <a title="Geoff blog" href="http://blog.deconcept.com" target="_blank">блоге</a> скрипт, который решает эту проблему. И в принципе на этом можно было бы и остановиться, но.</p>
<p>В моем случае, после установки у себя этого скрипта на некоторых из машин, на которых был установлен Internet Explorer 6 и Flash Player 6, без всяких видимых причин происходил сбой и браузер благополучно умирал.</p>
<p>В Файрфоксе, Опере и IE7 ничего такого не происходило и все работало отлично. Но мы посетителями не разбрасываемся и поэтому я решил найти другое решение, так как в комментариях к описанию SWFObject я ничего кроме восторженных отзывов не нашел.</p>
<p>Это решение все таки имеет право на существование, поэтому решайте сами.</p>
<p>Качаем <a title="SWFObject Script" href="http://blog.deconcept.com/swfobject/swfobject1-4.zip" target="_blank">у разработчика</a>, или <a title="SWF Object Script" href="/files/swfobject1-4.zip" target="_blank">у меня</a>.</p>
<p><strong>Решение номер два. Adobe Flash Detection Kit.</strong></p>
<p><img title="Adobe Inc." src="/images/posts/adobe.gif" alt="Adobe Inc." width="166" height="230" align="left" />Как и в <a title="ActiveX Content в IE" href="http://www.webmakerslounge.com/useful-scripts/active-content-flash-ie-adobe">прошлый раз</a>, я решил обратиться к первоисточнику, а именно к компании-разработчику Flash, Adobe. И не пожалел об этом. Детектор версии/присутствия flash player&#8217;а на машине пользователя, созданный их разработчиками полностью решает нашу проблему.</p>
<p>Скрипт, предоставляемый ими, разделен на три части:</p>
<p><strong>- Action Script detection</strong> &#8211; SWF файл, встроеный в HTML документ, который определяет версию плеера. Естественно с исходниками.</p>
<p><strong>- Client Side detection</strong> &#8211; Javascript/HTML блок, вставляющийся в любой документ в котором нужно определить версию плеера. В этом же блоке описывается альтернативный контент, который нужно вывести если не установлен флеш плеер, и контент, который будет отображаться если у посетителя нет ни флеш плеера, ни поддержки javascript&#8217;a. Единственное неудобство &#8211; если в обоих случаях вы хотите выводить XHTML/CSS меню/контент, то нужно прописывать его дважды. Или же вытаскивать через переменную.</p>
<p><strong>- Express Installation</strong> &#8211;  Тоже самое что и Client Side detection, но автоматически запускает экспресс-инсталяцию плагина при его отсутствии.</p>
<p>Посмотрим как это выглядит:</p>
<p><code>&lt;html lang="en"&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /&gt;<br />
&lt;title&gt;Client Detection Example&lt;/title&gt;<br />
&lt;script xsrc="AC_OETags.js" mce_src="AC_OETags.js"  language="javascript"&gt;&lt;/script&gt;<br />
&lt;script language="JavaScript" type="text/javascript"&gt;<br />
&lt;!--<br />
// --------------------------------------------------<br />
// Globals<br />
// Major version of Flash required<br />
var requiredMajorVersion = 8;<br />
// Minor version of Flash required<br />
var requiredMinorVersion = 0;<br />
// Minor version of Flash required<br />
var requiredRevision = 0;<br />
// --------------------------------------------------<br />
// --&gt;<br />
&lt;/script&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;script language="JavaScript" type="text/javascript"&gt;<br />
&lt;!--<br />
// Version check based upon the values entered above in "Globals"<br />
var hasReqestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);<br />
// Check to see if the version meets the requirements for playback<br />
if (hasReqestedVersion) {<br />
// if we've detected an acceptable version<br />
// вывод флэша, при условии что пройдены все проверки<br />
AC_FL_RunContent(<br />
"src", "example",<br />
"width", "550",<br />
"height", "200",<br />
"align", "middle",<br />
"id", "detectionExample",<br />
"quality", "high",<br />
"bgcolor", "#FFFFFF",<br />
"name", "detectionExample",<br />
"allowScriptAccess","sameDomain",<br />
"type", "application/x-shockwave-flash",<br />
'codebase', 'http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab',<br />
"pluginspage", "http://www.adobe.com/go/getflashplayer"<br />
);<br />
} else {  // если версия плэера слишком старая или не определена<br />
var alternateContent = 'Сюда вписываем контент, подгружаемый если версия плэера слишком старая или не определена &lt;BR/&gt;'<br />
+ 'И сюда. '<br />
+ '&lt;а hrеf=http://www.adobe.com/go/getflash/&gt;Get Flash&lt;/a&gt;';<br />
document.write(alternateContent);  // insert non-flash content<br />
}<br />
// --&gt;<br />
&lt;/script&gt;<br />
&lt;noscript&gt;<br />
А сюда вписываем контент, который будет выводиться при отсутствии и флеша и поддержки javascript.<br />
This content requires the Adobe Flash Player and a browser with JavaScript enabled.<br />
&lt;a hrеf="http://www.adobe.com/go/getflash/" mce_href="http://www.adobe.com/go/getflash/"     &gt;Get Flash&lt;/a&gt;<br />
&lt;/noscript&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</code></p>
<p>Скачать можно на <a title="Flash detection kit" href="http://www.adobe.com/products/flashplayer/download/detection_kit/" target="_blank">сайте Adobe</a> или у <a title="Flash detection kit" href="/files/detectionkit.zip" target="_blank">меня</a>.</p>
<p><strong>* Имя файла ролика в скрипте вставляется без расширения .swf.</strong></p>
<p><strong>* Скрипт сохраняет валидность кода. </strong></p>
<p>Не забываем правильно указать пути к <strong>.js</strong> файлам и включать фантазию иногда.</p>
<p>Другие решения приветствуются, так что если у вас есть что сказать &#8211; пишите в комментарии. Надеюсь что статья вам помогла.</p>
<p>P.S. Этот скрипт адаптирован к настройкам безопасности в Интернет Эксплорере и выводит флэш без рамочки. Об этой проблеме <a title="ActiveX Content в IE" href="http://www.webmakerslounge.com/useful-scripts/active-content-flash-ie-adobe">я писал ранее</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cascadi.ca/browsers/flash-detection-script/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

