<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Блог: заметки с тегом js</title>
<link>https://starcoms.ru/iwrite/tags/js/</link>
<description>Мысли о программировании, жизни и христианстве.</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.1 (v4098)</generator>

<itunes:subtitle>Мысли о программировании, жизни и христианстве.</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Добавляем ссылкам Эгеи в статьях target=«_blank»</title>
<guid isPermaLink="false">99</guid>
<link>https://starcoms.ru/iwrite/all/dobavlyaem-ssylkam-egei-v-statyah-target-blank/</link>
<pubDate>Fri, 16 Jan 2015 09:54:52 +0300</pubDate>
<author></author>
<comments>https://starcoms.ru/iwrite/all/dobavlyaem-ssylkam-egei-v-statyah-target-blank/</comments>
<description>
&lt;p&gt;После публикации статьи «Минусы блогового движка Эгея» один из минусов был сразу решён. Речь об открытии ссылок из публикаций в новых окнах браузера. &lt;a href="http://dmitryshishkin.ru/blog/"&gt;Дмитрий Шишкин&lt;/a&gt; предложил следующее решение:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;//Добавляем ссылкам в публикациях target=&amp;quot;_blank&amp;quot;
$(document).ready(function(){
    $(&amp;quot;.e2-note-text a&amp;quot;).attr(&amp;quot;target&amp;quot;,&amp;quot;_blank&amp;quot;);
  });&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Чтобы им воспользоваться добавьте код выше в JS файл вашей темы. Если таковой отсутствует, то создайте папку «js» в вашей теме и поместите там файл с этим кодом. Назвать файл можно как саму тему. Эгея файл автоматически подгрузит.&lt;/p&gt;
</description>
</item>

<item>
<title>Динамическая версия CSS и JS</title>
<guid isPermaLink="false">46</guid>
<link>https://starcoms.ru/iwrite/all/dinamicheskaya-versiya-css-i-js/</link>
<pubDate>Tue, 03 Jun 2014 23:26:51 +0300</pubDate>
<author></author>
<comments>https://starcoms.ru/iwrite/all/dinamicheskaya-versiya-css-i-js/</comments>
<description>
&lt;p&gt;Периодически приходится немного править каскадные таблицы стилей и скрипты на разных проектах. До сих пор я использовал следующее решение:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/styles/main.css?&amp;lt;?php echo time(); ?&amp;gt;&amp;quot; /&amp;gt;
&amp;lt;script src=&amp;quot;/js/main.js?&amp;lt;?php echo time(); ?&amp;gt;&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Где php-вставка подставляла текущее время и получался следующий код:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;/styles/main.css?1401823964&amp;quot; /&amp;gt;
&amp;lt;script src=&amp;quot;/js/main.js?1401823964&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Это позволяло автоматически обновлять в браузере CSS и JS файлы с которыми работаю (борьба с кешированными версиями обновляемых файлов), создавая «разные» версии файлов, при каждой перезагрузке страницы. Но правильно ли так делать? Ведь даже если я ничего не менял, все равно браузер грузил все по новому.&lt;/p&gt;
&lt;p&gt;Возможно, что лучше применять следующий алгоритм работы с кешем файлов такого типа:&lt;/p&gt;
&lt;ol start="1"&gt;
&lt;li&gt;Берётся время последнего изменения файла.&lt;/li&gt;
&lt;li&gt;Сравнивается со временем указанным как версия файла (или с хранимыми где-то последними версиями файлов, которые используются).&lt;/li&gt;
&lt;li&gt;Если они равны, то ничего не меняется.&lt;/li&gt;
&lt;li&gt;Если не равны, то версия файла меняется на время последнего изменения файла (или старый файл заменяется новым).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Стоит ли вообще на этом заостряться? Или лучше воспользоваться одним из решений предложенных в дополнительных материалах или предложенным выше (вторая ссылка вроде предлагает решение по этому алгоритму)?&lt;/p&gt;
&lt;h2&gt;Дополнительные материалы&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://javascript.ru/optimize/cache-versioning"&gt;Умное Кеширование и Версионность в Javascript/CSS&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.ejeliot.com/blog/72"&gt;(en) Automatic merging and versioning of CSS/JS files with PHP&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.ejeliot.com/blog/125"&gt;(en) Automatic versioning of CSS, JavaScript and Images&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.ravelrumba.com/blog/css-js-concatenation-versioning-php/"&gt;(en) Simple CSS/JS Concatenation and Versioning with PHP&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://frankcode.wordpress.com/2013/10/13/automating-js-and-css-versioning/"&gt;(en) Automating JS and CSS Versioning&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://rakaz.nl/2006/12/make-your-pages-load-faster-by-combining-and-compressing-javascript-and-css-files.html"&gt;(en) Make your pages load faster by combining and compressing javascript and css files&lt;/a&gt;&lt;/p&gt;
</description>
</item>

<item>
<title>Решение проблемы с window.location.href в Chrome</title>
<guid isPermaLink="false">10</guid>
<link>https://starcoms.ru/iwrite/all/reshenie-problemy-s-window-location-href-v-chrome/</link>
<pubDate>Thu, 24 Oct 2013 10:41:05 +0300</pubDate>
<author></author>
<comments>https://starcoms.ru/iwrite/all/reshenie-problemy-s-window-location-href-v-chrome/</comments>
<description>
&lt;p&gt;Ковыряю сейчас online CRM для церкви и столкнулся с проблемой того, что объект &lt;b&gt;window.location.href&lt;/b&gt; у меня не работал в браузерах на WebKit (Chrome и Safari) и ряде браузеров с другими движками, но корректно работал в IE.&lt;br /&gt;
После некоторых плясок с бубном и поиску в интернете, было найдено универсально работающее во всех браузерах решение.&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;window.location.href = &amp;quot;page.html&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;заменить на&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;setTimeout(function(){document.location.href = &amp;quot;page.html&amp;quot;;},500);&lt;/code&gt;&lt;/pre&gt;</description>
</item>


</channel>
</rss>