<?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>Q-Zma&#039;s Burrow &#187; Javascript</title>
	<atom:link href="http://q-zma.com/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://q-zma.com</link>
	<description>дневник педантичного отморозка</description>
	<lastBuildDate>Wed, 04 Jan 2012 13:07:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Полезные модули Drupal для client side разработчика</title>
		<link>http://q-zma.com/2009-05-26-poleznyie-moduli-drupal-dlya-client-side-razrabotchika/</link>
		<comments>http://q-zma.com/2009-05-26-poleznyie-moduli-drupal-dlya-client-side-razrabotchika/#comments</comments>
		<pubDate>Tue, 26 May 2009 08:44:11 +0000</pubDate>
		<dc:creator>Q-Zma</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://q-zma.com/?p=591</guid>
		<description><![CDATA[Так как я являюсь большим поклонником jQuery и Drupal, хочу рассказать о нескольких модулях, которые могут значительно облегчить создание высококачественных веб-приложений с использованием этой связки. jQuery Update Как вы наверняка знаете — jQuery в Drupal является основной javascript-библиотекой, однако, в связи с тем, что Drupal содержит довольно много зависящих от jQuery фишек, обновлять библиотеку в [...]]]></description>
			<content:encoded><![CDATA[<p>Так как я являюсь большим поклонником <a href="http://jquery.com">jQuery</a> и <a href="http://drupal.org/">Drupal</a>, хочу рассказать о нескольких модулях, которые могут значительно облегчить создание высококачественных веб-приложений с использованием этой связки.</p>
<h3><a href="http://drupal.org/project/jquery_update">jQuery Update</a></h3>
<p>Как вы наверняка знаете — jQuery в Drupal является основной javascript-библиотекой, однако, в связи с тем, что Drupal содержит довольно много зависящих от jQuery фишек, обновлять библиотеку в ядре с каждым минорным релизом Drupal у сообщества не принято. Но, так как почти каждый релиз jQuery совершает маленькую революцию, некоторые из членов сообщества озаботились актуальностью версии библиотеки, и в помощь революционерам был создан модуль jQuery Update. Для того, чтобы использовать самые последние возможности jQuery — установите и активируйте этот модуль. Для 5-ой версии Drupal потребуются некоторые дополнительные телодвижения типа замены кое-каких файлов в ядре, в 6-ой же версии всё начинает функционировать сразу после активации модуля.</p>
<h3><a href="http://drupal.org/project/jquery_ui">jQuery UI</a></h3>
<p>Этот модуль является обёрткой для интеграции <a href="http://jqueryui.com/">jQuery UI</a> — библиотеки компонентов для разработки пользовательских инетрфейсов. Сам по себе модуль не содержит дистрибутива jQuery UI, поэтому после его установки вам потребуется установить девелоперский дистрибутив jQuery UI, подробные инструкции смотрите в <code>README.txt</code>. После установки и активации у вас появится возможность разрабатывать модули, которые используют какие-либо компоненты jQuery UI, подробности, опять же, смотрите в <code>README.txt</code>.</p>
<h3><a href="http://drupal.org/project/jquery_plugin">jQuery plugins</a></h3>
<p>jQuery — довольно популярная библиотека, благодаря большому сообществу существуют тысячи плагинов реализующих ту или иную функциональность, зачем изобретать велосипед, если что-то уже было реализовано до вас? Конечно, если вы не начинающий web-разработчик, как известно, каждый начинающий должен изобрести какое-то количество велосипедов :). Данный модуль предназначен для централизованного хранения и использования плагинов jQuery, подробности как всегда смотрите в <code>README.txt</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://q-zma.com/2009-05-26-poleznyie-moduli-drupal-dlya-client-side-razrabotchika/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Min-width и max-width для Internet Explorer </title>
		<link>http://q-zma.com/2007-10-18-min-width-i-max-width-dlja-internet-explorer-6/</link>
		<comments>http://q-zma.com/2007-10-18-min-width-i-max-width-dlja-internet-explorer-6/#comments</comments>
		<pubDate>Wed, 17 Oct 2007 22:28:06 +0000</pubDate>
		<dc:creator>Q-Zma</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://q-zma.com/2007.10.18-min-width-i-max-width-dlja-internet-explorer-6/</guid>
		<description><![CDATA[Некоторые персонажи в комментариях к записи на схожую тему в одном блоге сетовали на то, что не могут найти в гуглояндексе «универсальное решение для реализации динамической ширины блока с минимальным и максимальным значением». Что ж, попробуем его туда добавить :). Сие есть не что иное как: min-width и max-width для Internet Explorer версий &#60;= 6 [...]]]></description>
			<content:encoded><![CDATA[<p>Некоторые персонажи в комментариях к записи на схожую тему в одном блоге сетовали на то, что не могут найти в гуглояндексе «универсальное решение для реализации динамической ширины блока с минимальным и максимальным значением». Что ж, попробуем его туда добавить :). Сие есть не что иное как: min-width и max-width для Internet Explorer версий &lt;= 6 (поскольку тварь последней модификации уже понимает эти свойства).</p>
<p>С тем, что <a title="About Dynamic Properties" rel="no-follow" href="http://msdn2.microsoft.com/en-us/library/ms537634.aspx">dynamic properties</a> (фирменная фича <abbr title="Microsoft">MS</abbr>, используется для динамических расчётов значений <abbr title="Cascading Style Sheets">CSS</abbr> свойств элемента) зло, не могу согласиться. С их помощью можно научить ослика ходить более прямо, путём пририсовывания ему костыликов, причём замаскированных таким образом, что их наличие никак не сказывается на качестве рендерения страницы в других браузерах, а так же на драгоценной, так всеми желаемой, валидности. Именно эту фичу <abbr title="Microsoft">MS</abbr> мы и будем использовать вкупе с ещё одной фирменной фичей, что звучно <a title="About Conditional Comments" href="http://msdn2.microsoft.com/en-us/library/ms537512.aspx">сonditional сomments</a> зовётся.</p>
<p><span id="more-240"></span></p>
<p>Итааааак, работающий пример:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
    &lt;head&gt;
        &lt;title&gt;Title&lt;/title&gt;
        &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;/&gt;
        &lt;style type=&quot;text/css&quot;&gt;
        html
        {
            margin:0;
            padding:0;
        }
        body
        {
            background:olive;
            margin:0px;
            padding:10px;
            text-align:center;
        }
        #root
        {
            text-align:left;
            background:yellow;
            margin:0 auto;
            padding:1px 0;
            min-width:770px;
            max-width:990px;
        }
        &lt;/style&gt;
        &lt;!--[if IE]&gt;
        &lt;style type=&quot;text/css&quot;&gt;
        * html #root
        {
            width:expression(
                (document.compatMode &amp;&amp; document.compatMode == 'CSS1Compat')
                ?
                (
                    document.documentElement.clientWidth &lt; 770
                    ?
                    &quot;770px&quot;
                    :
                    (
                        document.documentElement.clientWidth &gt; 990
                        ?
                        &quot;990px&quot;
                        :
                        &quot;auto&quot;
                    )
                )
                :
                (
                    document.body.clientWidth &lt; 770
                    ?
                    &quot;770px&quot;
                    :
                    (
                        document.body.clientWidth &gt; 990
                        ?
                        &quot;990px&quot;
                        :
                        &quot;auto&quot;
                    )
                )
            );
        }
        &lt;/style&gt;
        &lt;![endif]--&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div id=&quot;root&quot;&gt;
            &lt;p&gt;
                Vivamus nonummy. Fusce risus. Duis luctus. Mauris tempor.
                Nullam consequat dolor at urna. Donec porttitor lectus ac lacus.
                Pellentesque turpis tortor, bibendum non, dictum id, mollis non,
                nulla. Aenean vehicula dapibus erat. Proin felis lorem, faucibus
                vitae, accumsan sit amet, posuere ut, leo. Nulla enim felis, mattis
                id, laoreet sed, tempus non, neque. Vivamus eu nisl. Ut posuere
                porttitor ante. Cras scelerisque ipsum eget metus. Proin ultricies
                nonummy ipsum. Maecenas dignissim sem at sem. Pellentesque faucibus,
                augue dignissim interdum vulputate, elit massa suscipit orci, vel
                feugiat massa dolor vitae sapien. Aenean porttitor nunc ac
                tellus.
            &lt;/p&gt;
        &lt;/div&gt;
    &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>А теперь я попытаюсь объяснить как эта магия работает :). У всех современных браузеров есть несколько режимов отображения страницы, так называемые «standarts compliant mode» (режим совместимости со стандартами) и «quirks mode» (режим обратной совместимости), и наш непарнокопытный друг не является исключением, начиная с версии 6. Подробнее и по-русски о режимах отображения я расскажу в следующих статьях, кому неймётся, тот может <a title="Activating the Right Layout Mode Using the Doctype Declaration" href="http://hsivonen.iki.fi/doctype/">изучить довольно подробный материал, собранный, судя по всему, финскими коллегами по цеху, на английском языке</a>. Вкратце: IE версий 5-5.5 всё время работает в режиме обратной совместимости, IE 6-7 только при условии отсутствия <abbr title="Document Type Definition">DTD</abbr>, некорректного <abbr title="Document Type Definition">DTD</abbr>, наличия <abbr title="Extensible Markup Language">XML</abbr> декларации или простого комментария перед <abbr title="Document Type Definition">DTD</abbr>. В разных режимах отображения роль основного элемента, который представляет собой канву для отрисовки всего контента, играют разные элементы. В случае режима обратной совместимости этим элементом является <em>body</em>, а в режиме совместимости со стандартами — элемент <em>html</em>. Для определения в каком именно режиме отображается текущая страница наши друзья индусы придумали интересное свойство <em><a title="compatMode Property (document)" rel="no-follow" href="http://msdn2.microsoft.com/en-us/library/ms533687.aspx">document.compatMode</a></em>, данное свойство появилось в IE6, и оно может принимать следующие значения: "<em>CSS1Compat</em>" и "<em>BackCompat</em>"; из этого следует, что мы можем легко разбить наш expression на две ветки: первая — для IE6-7 в режиме соместимости со стандартами, вторая — для IE всех версий в режиме обратной совместимости. В первой ветке мы используем свойство <em><a title="documentElement Property (document)" rel="no-follow" href="http://msdn2.microsoft.com/en-us/library/ms533739.aspx">document.documentElement</a></em>, которое, начиная с версии IE6 в режиме совместимости со стандартами содержит ссылку на корневой элемент документа, а во втором случае — давно известный нам объект <em>document.body</em>. Подобный тюнинг этого выражения позволяет избежать зависания IE разных версий в разных режимах отображения страницы.</p>
<p>В последующийх статьях я попробую рассказать о режимах отображения страницы в разных браузерах и conditional comments. Спасибо, что дочитали до конца ;).</p>
]]></content:encoded>
			<wfw:commentRss>http://q-zma.com/2007-10-18-min-width-i-max-width-dlja-internet-explorer-6/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

