Статьи

Что нового в Chrome 39

Несмотря на шесть лет, Chrome быстро приближается к среднему возрасту по номерам версий. Chrome 39 был выпущен, и вы, вероятно, его установили. Есть несколько хороших новых функций … плюс одно или два слегка подозрительных дополнения.

ECMAScript 6 Генераторы

Генераторы — это специальные функции, объявленные с function* которые создают итераторы. Итератор — это объект с методом next() который вызывается для возврата значения. Функция генератора использует оператор yield для предоставления следующего значения в последовательности.

Арунода Сусирипала (Arunoda Susiripala) предоставляет базовый пример в Генераторах JavaScript и предотвращении обратного вызова Ад :

 function* HelloGen() { yield 100; yield 400; } var gen = HelloGen(); console.log(gen.next()); // {value: 100, done: false} console.log(gen.next()); // {value: 400, done: false} console.log(gen.next()); // {value: undefined, done: true} 

Генераторы ECMAScript 6 поддерживаются в Chrome, Opera и Firefox 31+.

Маяк API

Новый Beacon API позволяет отправлять данные на сервер, не дожидаясь ответа. Запросы ставятся в очередь и отправляются браузером как можно скорее, но, что важно, это не задерживает выгрузку текущей страницы или загрузку следующей.

navigator.sendBeacon() передается URL и данные — возможно, строка или значение FormData. Как правило, его можно использовать при передаче статистической информации, например,

 navigator.sendBeacon('/log', 'page-unloaded'); 

Метод возвращает true если браузер успешно поставил в очередь запрос маяка. Я не уверен, что вы могли бы сделать, если было возвращено false но маяки не должны использоваться для основных функций или обмена сообщениями.

API Beacon поддерживается в Chrome, Opera и Firefox 31+.

Элементы управления веб-анимацией

Веб-анимация была представлена ​​в Chrome 36. Идея состоит в том, чтобы разрешить простые CSS3-подобные ключевые кадры и объявления анимации из JavaScript, например

 var myanimation = myelement.animate([ { color: "#f00" }, { left: "20em" }, { transform: "rotate(180deg)" } ], { duration: 1000, iterations: 1, delay: 0 }); 

Преимущество заключается в том, что вы можете контролировать и синхронизировать воспроизведение в соответствии с пользовательским вводом или другими условиями. Chrome 39 добавляет методы воспроизведения, такие как play() , pause() , reverse() , finish() (переводит анимацию в конечное состояние) и cancel() (удаляет все эффекты).

Думайте о веб-анимации как о компромиссе между простой CSS3-анимацией и сложным полнокадровым управлением JavaScript с использованием requestAnimationFrame и ваших собственных функций синхронизации. Возможно, это излишне для общих веб-эффектов, но недостаточно для игр. Приложения и презентации могут быть хорошими вариантами использования?

В настоящее время Chrome и Opera являются единственными браузерами, поддерживающими веб-анимацию. В ночных клубах Firefox есть поддержка и полифилл, но технология еще не будет стабильной в течение некоторого времени.

Манифест веб-приложения

Не путать с манифестом кэша приложений. Манифест веб-приложений представляет собой файл JSON, в который можно помещать метаданные, такие как имя, начальный адрес, значки, режим отображения, ориентация и т. Д.

Вам понадобится link в вашей HTML- head :

 <link rel="manifest" href="manifest.json"> 

и сам файл манифеста, например

 { "name": "My Application", "icons": [{ "src": "icon/lowres", "sizes": "64x64" }, { "src": "icon/small", "sizes": "64x64" }, { "src": "icon/hd_hi", "sizes": "128x128", "density": 2 }], "start_url": "/index.html", "display": "fullscreen", "orientation": "landscape" } 

В конечном итоге это означает, что мы можем удалить 57 вариантов размера иконок iOS из верхней части каждой страницы… при условии, что Apple решит внедрить эту технологию в Safari!

Кросс-браузерная поддержка неоднородна. Firefox использует манифест для своей торговой площадки, но, похоже, существуют некоторые различия в именах свойств.

Режим погружения Windows 7

Переход в иммерсивный режим в Windows 7 делает Chrome немного похожим на полноэкранное приложение Metro для Windows 8. Как ни странно, он помещает полупрозрачную панель задач в стиле Chrome OS над панелью задач Windows — со своей собственной кнопкой запуска и часами.

Почему? Если пользователи Windows 7 хотят использовать Windows 8, они могут выполнить обновление. Однако есть причина, по которой многие Windows 7 предпочитают придерживаться этой ОС: им не нужна Windows 8!

Меня также смущает то, что Google настаивает на добавлении виджетов Chrome OS в другие операционные системы. Значок приложения Chrome здесь и там прекрасно, но копировать нативные функции бессмысленно. Возможно, они надеются заманить людей на Chrome OS, но раздражать их не поможет.

Разные обновления

Еще несколько мелких особенностей …

  • Теперь вы можете установить бесплатные приложения Chrome из Play Store без входа в систему.
  • scrollTop и scrollLeft теперь возвращают доли пикселя на экранах с высоким DPI / Retina. Если вы думали, что пиксельное совершенство было плохим, подождите, пока клиенты не начнут требовать субпиксельного совершенства!
  • Сохраненные пароли теперь можно редактировать.
  • 64-разрядная версия Chrome теперь является единственной версией, доступной в Mac OS.
  • Шифрование SHA-1 постепенно сокращается в пользу SHA-2.
  • Добавлена ​​экспериментальная поддержка значков кнопок расширения внутри меню (установите флажок Включить редизайн панели расширения в about: flags ).

Несмотря на несколько хитроумных дополнений и некоторые догадки Firefox, версия 39 — еще одно отличное обновление. Chrome остается быстрым, стабильным и предпочтительным браузером для почти половины Интернета. Рекомендуемые.