Заметки


🔥 Условные комментарии для Internet Explorer в React

Иногда сделать простые вещи очень непросто. Например, добавить условный комментарии для IE в html. Этим я сегодня и занимался.

В моем текущем проекте нам нужно было поддерживать css медиа-запросы в IE9. Для этого было решено использовать библиотеку media-match.

Что может быть проще? Пара строк кода с условным комментарием:

<!--[if lte IE 9]>
   <script src="/public/media.match.js">
<![endif]-->

Но все оказалось намного сложнее, так как мы используем React.js и делаем изоморфное одностраничное приложение. Кто бы знал, что React не рендерит на странице комментарии, помещенные в .jsx-файлы. Показынный ниже способ не работает:

renderHead: function() {
  return (
    <head>
      <!--[if lte IE 9]>
      <script src="/public/media.match.js"/>
      <![endif]-->
    </head>
  );
}

Единственный способ, который мне удалось найти – dangerouslySetInnerHTML для head, внутрь которого я поместил комментарий и все заработало:

renderHead: function() {
  return (
    <head dangerouslySetInnerHTML={{__html: '<!--[if lte IE 9]><script src="/public/media.match.js"></script><![endif]-->'}}>
    </head>
  );
}

Следует также отметить, что тэг script должен быть закрыт отдельно <script></script>, так как сокращение <script /> не работает в React.

Последняя, но, при этом, большая проблема – если надо поместить несколько таких комментариев в head. Конечно, можно все просто написать в одну строку, но это выглядит «убого».

Поэтому я, да простят меня парсерсы HTML в браузерах, положил условные комментарии внутри тэга meta:

renderHead() {
  return (
    var comment = '<!--[if lte IE 9]><script src="/public/media.match.js"></script><![endif]-->';
    <head>
      <title>Website title</title>
      <meta name="react-comment-hack" 
          dangerouslySetInnerHTML={{__html: comment}}>
      </meta>
    </head>
  );
}

Успешного «реакта».

© Автор Maks Nemisj

Читать 1 мин | 07.05.2015 16:44

🔥 Переезд в Нидерланды. Город и туристы

К Амстердаму можно относиться по-разному. Кто-то его любит, кто-то нет. Попробую высказать своё мнение по этому поводу.

Начну с того, что город совершенно небольшой. Здесь официально проживает порядка 830 тысяч человек. Если сравнивать его территорию с Минском, то кажется, что весь Амстердам — это спальный район белорусской столицы. Добраться до центра из любого уголка можно за 15-20 минут.

Продолжение

Читать 6 мин | 29.04.2015 12:58

🔥 Переезд в Нидерланды. Жилье и русский язык

Жилье

Амстердам очень популярное место для переезда не только среди иностранцев, но и внутри страны. По этой причине сюда постоянно прибывают все новые и новые жильцы, что вызывает некоторую суматоху на рынке аренды жилья.

Этот вопрос – единственный, который не сомнении меня волнует. Я уже три недели в Нидерландах, но особо не продвинулся в поисках постоянного места жизни.

Здесь есть два варианты аренды: у частного лица и у компании застройщика. У обоих есть как плюсы так и минусы.

Продолжение

Читать 6 мин | 21.04.2015 23:23

🔥 Moto 360 – эталон умных часов на Android Wear

Продолжим серию обзоров всяких-разных умных часов (Pebble Steel, Casio STB-1000-1EF). В этот раз взглянем на первые и долгое время считавшееся лучшими часы от компании Motorola – Moto 360.

Продолжение

Читать 5 мин | 12.04.2015 16:07

🔥 Переезд в Нидерланды. Первые дни

Мой первый рабочий день должен был быть 1-го апреля. Естественно мне необходимы были несколько дней для адаптации в новой обстановке. По сей причине билет в Амстердам я купил на утро 30 марта. Имея последний день марта в наличии, я договорился о встрече в Экспатцентре и в банке. Экспатцентр занимается выдачей ID (паспорт местный) и регистрации в органах муниципальной власти.

Продолжение

Читать 4 мин | 11.04.2015 12:00