0 added
0 removed
Original
2026-01-01
Modified
2026-02-21
1
<p>Safari обновился до версии 15.4, а вместе с ним и WebKit - для разработчиков. Обновление уже доступно для macOS Monterey 12.3, iPadOS и iOS 15.4. Посмотрим на главные изменения.</p>
1
<p>Safari обновился до версии 15.4, а вместе с ним и WebKit - для разработчиков. Обновление уже доступно для macOS Monterey 12.3, iPadOS и iOS 15.4. Посмотрим на главные изменения.</p>
2
<p><strong>HTML.</strong>WebKit теперь поддерживает "ленивую загрузку" изображений, которую можно указать в атрибутах тега<strong><img></strong>. Кроме того, разработчики добавили поддержку элемента<strong><dialog></strong>, псевдоэлемента<strong>::backdrop</strong>и глобального атрибута<strong>autofocus</strong>.</p>
2
<p><strong>HTML.</strong>WebKit теперь поддерживает "ленивую загрузку" изображений, которую можно указать в атрибутах тега<strong><img></strong>. Кроме того, разработчики добавили поддержку элемента<strong><dialog></strong>, псевдоэлемента<strong>::backdrop</strong>и глобального атрибута<strong>autofocus</strong>.</p>
3
<p><strong><dialog></strong>позволяет создавать надёжные и быстрые модальные окна и оверлеи. Вот пример кода с сайта<a>WebKit</a>:</p>
3
<p><strong><dialog></strong>позволяет создавать надёжные и быстрые модальные окна и оверлеи. Вот пример кода с сайта<a>WebKit</a>:</p>
4
<dialog id="confirmation-dialog"> <h1>Вы хотите удалить все файлы?</h1> <p>Вы потеряете все данные.</p> <button id="cancel-delete">Отмена</button> <button id="confirm-delete">Удалить!</button> </dialog><p><strong>::backdrop</strong>помогает стилизовать задний фон под модальными окнами. Например, так:</p>
4
<dialog id="confirmation-dialog"> <h1>Вы хотите удалить все файлы?</h1> <p>Вы потеряете все данные.</p> <button id="cancel-delete">Отмена</button> <button id="confirm-delete">Удалить!</button> </dialog><p><strong>::backdrop</strong>помогает стилизовать задний фон под модальными окнами. Например, так:</p>
5
Возможности псевдоэлемента ::backdrop. Источник:<a>WebKit</a><p><strong>CSS.</strong>WebKit 15.4 добавляет поддержку "<a>каскадных слоёв</a>" (Cascade Layers). Они позволяют организовывать стили в слоях, где приоритет CSS-свойств вычисляется независимо внутри каждого слоя. Выглядит это так:</p>
5
Возможности псевдоэлемента ::backdrop. Источник:<a>WebKit</a><p><strong>CSS.</strong>WebKit 15.4 добавляет поддержку "<a>каскадных слоёв</a>" (Cascade Layers). Они позволяют организовывать стили в слоях, где приоритет CSS-свойств вычисляется независимо внутри каждого слоя. Выглядит это так:</p>
6
Преимущества каскадных слоёв. Источник:<a>WebKit</a><p>Ещё появилась поддержка<a>CSS Containment</a> - для размеров, слоёв, стилей и рисунков. Он позволяет устанавливать свойство<strong>contain</strong>для проверки вложенности элементов.</p>
6
Преимущества каскадных слоёв. Источник:<a>WebKit</a><p>Ещё появилась поддержка<a>CSS Containment</a> - для размеров, слоёв, стилей и рисунков. Он позволяет устанавливать свойство<strong>contain</strong>для проверки вложенности элементов.</p>
7
<p>Разработчики Safari решили проблему viewport-единиц - когда на смартфонах размер экрана браузера мог меняться во время скроллинга. Они создали инструмент под названием<a>Viewport Units</a>, где 100svh соответствует 100% высоты самого маленького viewport-размера, 100lvh - 100% высоты наибольшего viewport-размера, а 100dvh - 100% высоты динамического viewport-размера.</p>
7
<p>Разработчики Safari решили проблему viewport-единиц - когда на смартфонах размер экрана браузера мог меняться во время скроллинга. Они создали инструмент под названием<a>Viewport Units</a>, где 100svh соответствует 100% высоты самого маленького viewport-размера, 100lvh - 100% высоты наибольшего viewport-размера, а 100dvh - 100% высоты динамического viewport-размера.</p>
8
Новые единицы viewport-размеров. Источник:<a>WebKit</a><p>В типографике WebKit теперь поддерживает CSS-свойство<strong>font-palette</strong>и правило<strong>@font-palette-values</strong>. Свойство<strong>font-palette</strong>позволяет выбирать одну из предустановленных цветовых палитр для шрифтов, а <strong>@font-palette-values</strong> - определять собственные цветовые палитры для шрифтов.</p>
8
Новые единицы viewport-размеров. Источник:<a>WebKit</a><p>В типографике WebKit теперь поддерживает CSS-свойство<strong>font-palette</strong>и правило<strong>@font-palette-values</strong>. Свойство<strong>font-palette</strong>позволяет выбирать одну из предустановленных цветовых палитр для шрифтов, а <strong>@font-palette-values</strong> - определять собственные цветовые палитры для шрифтов.</p>
9
Здесь применена цветовая палитра для заглавных букв. Источник:<a>WebKit</a><p><strong>Web API.</strong>Разработчики внедрили множество изменений, которые упростят работу программистов:</p>
9
Здесь применена цветовая палитра для заглавных букв. Источник:<a>WebKit</a><p><strong>Web API.</strong>Разработчики внедрили множество изменений, которые упростят работу программистов:</p>
10
<ul><li>добавили<a>BroadcastChannel</a> - для отправки сообщение между вкладок, окон, iframe и Worker-служб;</li>
10
<ul><li>добавили<a>BroadcastChannel</a> - для отправки сообщение между вкладок, окон, iframe и Worker-служб;</li>
11
<li>добавили<a>Web Locks API</a> - чтобы управлять ресурсами для асинхронной блокировки вкладок, окон, iframe и Worker-служб;</li>
11
<li>добавили<a>Web Locks API</a> - чтобы управлять ресурсами для асинхронной блокировки вкладок, окон, iframe и Worker-служб;</li>
12
<li>улучшили<a>scroll behavior</a> - теперь его можно контролировать через CSS - scroll-behavior, и методы JavaScript - window.scroll(), window.scrollTo() и window.scrollBy();</li>
12
<li>улучшили<a>scroll behavior</a> - теперь его можно контролировать через CSS - scroll-behavior, и методы JavaScript - window.scroll(), window.scrollTo() и window.scrollBy();</li>
13
<li>обновили ResizeObserver API - и добавили поддержку<a>ResizeObserverSize</a>-интерфейса, который используется в ResizeObserverEntry;</li>
13
<li>обновили ResizeObserver API - и добавили поддержку<a>ResizeObserverSize</a>-интерфейса, который используется в ResizeObserverEntry;</li>
14
<li>добавили для<a>File System Access API</a>метод getFile () в FileSystemFileHandle.</li>
14
<li>добавили для<a>File System Access API</a>метод getFile () в FileSystemFileHandle.</li>
15
</ul><p><strong>JavaScript.</strong>WebKit 15.4 добавляется в JavaScript новые методы для массивов -<a><strong>findLast</strong></a>() и <a><strong>findLastIndex</strong></a>(), а также метод<a><strong>at</strong></a>(), который упрощает индексацию массивов:</p>
15
</ul><p><strong>JavaScript.</strong>WebKit 15.4 добавляется в JavaScript новые методы для массивов -<a><strong>findLast</strong></a>() и <a><strong>findLastIndex</strong></a>(), а также метод<a><strong>at</strong></a>(), который упрощает индексацию массивов:</p>
16
let list = ['banana','cherry','orange','apple','kiwi']; // Вместо этого: console.log(list[list.length-2]); // Можно написать так: console.log(list.at(-2));<p>Ещё для объектов появился метод<a>Object.hasOwn</a>(). Он проверяет наличие у объекта отдельных свойств.</p>
16
let list = ['banana','cherry','orange','apple','kiwi']; // Вместо этого: console.log(list[list.length-2]); // Можно написать так: console.log(list.at(-2));<p>Ещё для объектов появился метод<a>Object.hasOwn</a>(). Он проверяет наличие у объекта отдельных свойств.</p>
17
<p>Кроме этого, разработчики продолжили работать над интернационализацией и добавили поддержку переменных локальный временных зон, календарей, числовых систем и валют в <a>Intl Enumeration API</a>.</p>
17
<p>Кроме этого, разработчики продолжили работать над интернационализацией и добавили поддержку переменных локальный временных зон, календарей, числовых систем и валют в <a>Intl Enumeration API</a>.</p>
18
<p><strong>Web Inspector.</strong>В режиме инспектора добавили новые инструменты для работы с CSS в панели Styles: поддержку "каскадных слоёв" (Cascade Layers) и набор правил<strong>@layer</strong>.</p>
18
<p><strong>Web Inspector.</strong>В режиме инспектора добавили новые инструменты для работы с CSS в панели Styles: поддержку "каскадных слоёв" (Cascade Layers) и набор правил<strong>@layer</strong>.</p>
19
<p>Кроме этого, добавили CSS Alignment-управление Flexbox- и Grid-элементами, чтобы визуально понимать, как меняется расположение объектов на экране.</p>
19
<p>Кроме этого, добавили CSS Alignment-управление Flexbox- и Grid-элементами, чтобы визуально понимать, как меняется расположение объектов на экране.</p>
20
Возможности CSS Alignment. Источник:<a>WebKit</a><p>В Web Inspector появилась функция автодополнения свойств и значений. А во вкладке Computed неиспользуемые переменные теперь скрыты, чтобы пользователям было проще искать нужные свойства.</p>
20
Возможности CSS Alignment. Источник:<a>WebKit</a><p>В Web Inspector появилась функция автодополнения свойств и значений. А во вкладке Computed неиспользуемые переменные теперь скрыты, чтобы пользователям было проще искать нужные свойства.</p>
21
Вкладка Computed. Источник:<a>WebKit</a><p>Ещё команда Apple поработала над<a>Web App Manifest</a>,<a>мультимедиа</a>,<a>приватностью</a>и <a>безопасностью</a>. Подробнее про все изменения можно прочитать на <a>сайте WebKit</a>.</p>
21
Вкладка Computed. Источник:<a>WebKit</a><p>Ещё команда Apple поработала над<a>Web App Manifest</a>,<a>мультимедиа</a>,<a>приватностью</a>и <a>безопасностью</a>. Подробнее про все изменения можно прочитать на <a>сайте WebKit</a>.</p>