Поделиться через


Заметки о выпуске веб-платформы Microsoft Edge 133 (февраль 2025 г.)

Ниже приведены новые функции и обновления веб-платформы в Microsoft Edge 133, которая будет выпущена 6 февраля 2025 г.

Чтобы оставаться в актуальном состоянии и получать последние возможности веб-платформы, скачайте версию Microsoft Edge для участников программы предварительной оценки, например Canary, Dev или Beta; См . статью Стать участником программы предварительной оценки Microsoft Edge.

Подробное содержимое:

Средства разработки Edge

Сведения о средствах разработки для Edge см. в статье Новые возможности в средствах разработки Microsoft Edge.

WebView2

Сведения о WebView2 см. в статье Заметки о выпуске пакета SDK для WebView2.

Функции веб-платформы

Включенные функции

Animation.overallProgress

overallProgress Добавляет свойство в класс JavaScript Animation.

Это свойство обеспечивает удобное и согласованное представление о том, как далеко анимация продвинулась по итерациям и независимо от характера ее временная шкала.

Atomics.pause

Atomics.pause Добавляет метод , чтобы указать ЦП, что текущий код выполняет спин-блокировку.

Отчеты о хэшах CSP для сценариев

Сложным веб-приложениям часто требуется вести учет скачиваемых ими подресурсов в целях безопасности. В частности, предстоящие отраслевые стандарты и рекомендации (такие как PCI-DSS версии 4) требуют, чтобы веб-приложения хранили инвентаризацию всех скриптов, которые они скачивают и выполняют.

Эта функция основана на политике безопасности содержимого (CSP) и API отчетов, чтобы сообщать о URL-адресах и хэшах всех ресурсов скрипта, которые загружает документ.

Псевдокласс CSS :open

Псевдокласс :open соответствует <dialog> и <details> , когда они находятся в открытом состоянии, и соответствует <select> и <input> когда они находятся в режимах, в которых есть средство выбора и отображается средство выбора.

Запросы к контейнерам состояния прокрутки CSS

Используйте запросы к контейнерам для стиля потомков контейнеров на основе их состояния прокрутки.

Контейнер запросов является контейнером прокрутки или элементом, на который влияет положение прокрутки контейнера прокрутки. Можно запрашивать следующие состояния:

  • stuck: контейнер с липким расположением прикреплен к одному из краев поля прокрутки.
  • snapped: контейнер, выровненный с привязкой прокрутки, в настоящее время прикреплен по горизонтали или вертикали.
  • scrollable: можно ли прокручивать контейнер прокрутки в направлении запроса.

Новый container-type: scroll-state объект позволяет запрашивать контейнеры.

Например:

#sticky {
  position: sticky;
  container-type: scroll-state;
}

@container scroll-state(stuck: top) {
  #sticky-child { font-size: 75% }
}
Расширенная attr() функция CSS

Реализуйте расширение до attr() указанного в CSS уровня 5, который разрешает типы, кроме , и позволяет использовать во всех свойствах <string>CSS (кроме псевдоэлемента content).

Пример:

<style>
  div {
     background-color: attr(data-foo type(<color>), red);
  }
</style>
<div data-foo="blue">test</div>
Свойства CSS text-box, text-box-trimи text-box-edge

Чтобы достичь оптического баланса текстового содержимого, text-box-trim свойства и text-box-edge , а также text-box сокращенное свойство, делают возможным более точное управление вертикальным выравниванием текста.

Свойство text-box-trim указывает стороны для обрезки (выше или ниже). Свойство text-box-edge указывает способ обрезки края.

Эти свойства позволяют точно управлять вертикальным интервалом с помощью метрик шрифта.

ideographic и ideographic-ink, два значения text-box-edge свойства для символов китайского, японского и корейского (CJK) откладываются в будущем выпуске.

Перемещение с сохранением состояния DOM

Эта функция добавляет примитив DOM (moveBefore), который позволяет перемещать элемент в дереве DOM без сброса состояния элемента. Эта функция доступна на ParentNode узлах, таких как Element, Documentи DocumentFragment.

При перемещении элемента вместо удаления или вставки элемента сохраняется следующее состояние:

  • <iframe> элементы остаются загруженными.
  • Активный элемент сохраняет фокус.
  • Всплывающие окна и диалоговые окна остаются открытыми.
  • Переходы и анимации CSS продолжают выполняться.
Предоставление атрибута в attributionsrc<area>

Для отчетов по атрибутам attributionsrc атрибут уже был непреднамеренно обработан в <area> элементах из-за совместного кода с <a>, который намеренно поддерживал этот атрибут.

Для полноты атрибут в <area> предоставляется с одинаковым синтаксисом и семантикой к <a>, и без изменения предыдущей обработки. При переходе <area> по тегу с атрибутом attributionsrc запрос переднего плана может регистрировать источники навигации, и если атрибут не пуст, один или несколько фоновых запросов также смогут регистрировать источники навигации.

Предоставление огрубленного перекрестного происхождения renderTime в элементе синхронизации и наибольшего содержимого краски (LCP) независимо от заголовка Timing-Allow-Origin (TAO)

Все записи о времени выполнения элементов и LCP будут иметь ненулевое renderTimeзначение , даже если они являются кросс-исходными без заголовка Timing-Allow-Origin . Все метки времени презентации (renderTimeвремя начала и время окончания события) будут кратными 4 мс, чтобы снизить риск считывания сведений о изображениях между источниками.

Интерфейс FileSystemObserver

Интерфейс FileSystemObserver уведомляет веб-сайты об изменениях в файловой системе. Сайты наблюдают изменения в файлах и каталогах, на которые пользователь ранее предоставил разрешение, на локальном устройстве пользователя (как указано в WICG/file-system-access) или в файловой системе контейнера (как указано в whatwg/fs), и получают уведомления об основных сведениях об изменениях, таких как тип изменения.

Несколько карт импорта

Карты импорта в настоящее время должны загружаться перед любым модулем ES, и для каждого документа может быть только одна карта импорта. Это делает карты импорта хрупкими и потенциально медленными для использования в реальных сценариях: любой модуль, который загружается до импорта карт, нарушает работу всего приложения, а в приложениях с несколькими модулями карты импорта становятся большим блокирующим ресурсом, так как вся карта для всех возможных модулей должна быть загружена в первую очередь.

Эта функция позволяет использовать несколько карт импорта для каждого документа, объединяя карты импорта согласованным и детерминированным способом.

Улучшения всплывающего вызова и позиционирования привязок

Это изменение соответствует следующему связанному набору изменений:

  1. Добавьте императивный способ установки связей вызова между всплывателями: popover.showPopover({source}).
  2. Связи вызова создают неявные ссылки на элементы привязки.
Всплывающее окно, вложенное в вызывающий объект, не должно повторно вызывать его

Если щелкнуть вложенное всплывающее окно, то же всплывающее окно не вызывается повторно.

В следующем примере нажатие кнопки правильно активирует всплывающее окно. Тем не менее, щелкнув сам popover после этого, не следует закрывать всплывающее окно. Ранее всплывающее окно было закрыто в этом случае, так как щелчок всплывающего окна пузырьков до <button> и активировал вызывающий элемент, который закрыл всплывающее окно.

<button popovertarget=foo>Activate
  <div popover id=foo>Clicking me shouldn't close me</div>
</button>
Время использования ресурсов: отменить изменения responseStart изменения и введенияfirstResponseHeadersStart

Время использования ресурсов:

  • responseStart возвращает первый ответ с ранними подсказками (промежуточными) или окончательными.
  • Конечные заголовки ответа (2xx/4xx/5xx) предоставляются как finalResponseHeadersStart.
Заголовки доступа к хранилищу

Предлагает альтернативный способ для внедрения, прошедшего проверку подлинности, для получения согласия на использование несекционированных файлов cookie. Эти заголовки указывают, включены ли несекционированные файлы cookie (или могут быть) включены в данный сетевой запрос. Эти заголовки также позволяют серверам активировать storage-access уже предоставленные разрешения. Предоставление альтернативного способа активации storage-access разрешения позволяет использовать ресурсы, не относящиеся к iframe, и может уменьшить задержку для внедрения, прошедшего проверку подлинности.

Поддержка создания с помощью ClipboardItemPromise<DOMString>

ClipboardItem — это входные данные для метода записи в асинхронном буфере обмена. Конструктор ClipboardItem теперь принимает строковые значения в дополнение к BLOB-объектам. ClipboardItemData может быть большим двоичным объектом; строка; или promise, который разрешается в большой двоичный объект или строку.

API веб-проверки подлинности getClientCapabilities() : метод PublicKeyCredential

Метод getClientCapabilities() позволяет определить, какие функции WebAuthn поддерживаются клиентом пользователя. Этот метод возвращает список поддерживаемых возможностей, позволяющих настраивать интерфейсы проверки подлинности и рабочие процессы на основе конкретных функциональных возможностей клиента.

Предложение WebAssembly memory64

Предложение memory64 добавляет поддержку линейных памяти WebAssembly размером более 2^32 бит. Это предложение не содержит новых инструкций, но вместо этого расширяет существующие инструкции, чтобы разрешить 64-разрядные индексы для памяти и таблиц.

WebGPU: 1-компонентные форматы вершин (и unorm8x4-bgra)

Добавляет дополнительные форматы вершин, которые не присутствовали в первоначальном выпуске WebGPU из-за отсутствия поддержки или старых версий macOS, которые больше не поддерживаются ни в одном браузере. Форматы вершин из одного компонента позволяют приложению запрашивать только необходимые данные, когда ранее приложение запрашивало по крайней мере в 2 раза больше данных для 8-разрядных и 16-разрядных типов данных. Формат unorm8x4-bgra немного удобнее загружать цвета вершин в кодировке BGRA, сохраняя при этом один и тот же шейдер.

Алгоритм X25519 API веб-шифрования

Алгоритм X25519 предоставляет средства для выполнения соглашения ключа с помощью функции X25519, указанной в RFC7748. Идентификатор X25519 алгоритма можно использовать в интерфейсе SubtleCrypto для доступа к реализованным операциям: generateKey, importKey, exportKey, deriveKeyи deriveBits.

popover=hint

Popover API указывает поведение для двух значений атрибута popover : auto и manual. Эта функция описывает третье значение , popover=hint. Указания, которые чаще всего связаны с поведением типа подсказки, имеют несколько другое поведение. Разница main заключается в том, что при hint открытии вложенных стеков всплывающих окон имеет подчиненное autoзначение . Таким образом, можно открыть несвязанный hint popover, пока существующий auto стек всплывающих окон остается открытым. Канонический пример заключается в <select> том, что средство выбора открыто (popover=auto) и отображается подсказка с наведении указателя мыши (popover=hint). Это действие не закрывает <select> средство выбора.

Устаревшие и удаленные функции

Нерекомендуемые пределы WebGPU maxInterStageShaderComponents

Ограничение maxInterStageShaderComponents удаляется из-за сочетания факторов:

  • Избыточность с maxInterStageShaderVariables: это ограничение уже служит аналогичной цели: контролю объема данных, передаваемых между этапами шейдера.

  • Незначительные расхождения. Существуют незначительные различия в способе вычисления двух ограничений, но эти различия незначительны и могут эффективно управляться в пределах предела maxInterStageShaderVariables .

  • Упрощение. Удаление maxInterStageShaderComponents упрощает интерфейс шейдера и снижает сложность для разработчиков. Вместо управления двумя отдельными ограничениями (которые применяются одновременно, но с незначительными различиями), можно сосредоточиться на maxInterStageShaderVariables, который более подходящее название, и комплексный.

Ранее при предварительной выборке ресурса с помощью <link rel=prefetch>его семантики кэша (в частности, max-age и no-cache) не учитывались при первом использовании в течение 5 минут, чтобы избежать перезахоронения. Теперь этот особый случай удален, и используется обычная семантика кэша HTTP.

Это означает, что для получения преимуществ от <link rel=prefetch>необходимо включить соответствующие заголовки кэширования (т. е Cache-Control . или Expires).

Это также влияет на нестандартный <link rel=prerender>.

Это исправляет ошибку с предварительной выборкой правил спекуляции, при которой кэшировались ответы, отличные от 2xx. Это не требует кэширования заголовков для предварительной выборки правил спекуляции, так как такие заголовки предназначены для предварительной выборки навигации и, следовательно, имеют другие потребности в кэшировании, чем обычный кэш HTTP.

Пробные версии источника

Ниже приведены новые экспериментальные API, которые можно попробовать на собственном веб-сайте в течение ограниченного времени. Дополнительные сведения о пробных версиях источника см. в статье Использование пробных версий источника в Microsoft Edge. Полный список доступных пробных версий источника см. в статье Пробные версии источника Microsoft Edge.

Пробные версии источника только для Microsoft Edge

API цифровых товаров

Срок действия истекает 31 марта 2025 г.

API цифровых товаров позволяет веб-приложению получать сведения о своих цифровых продуктах и покупках пользователя, управляемых цифровым магазином. Агент пользователя абстрагирует подключения к магазину, а API запроса на оплату используется для совершения покупок.

Доступ к веб-приложению LocalFolder

Срок действия истекает 31 марта 2025 г.

Позволяет установленным в Microsoft Store progressive веб-приложения (PWA) получать доступ к содержимому файлов, которое ранее хранилось в папке WinRT ApplicationData.LocalFolder более ранней версией приложения UWP.

Атрибут рукописного ввода HTML+IDL

Срок действия истекает 14 июня 2025 г.

Детализированный контроль над документом и элементом, в котором содержимое должно разрешать или запрещать рукописный ввод.

API сведений о приобретении

Срок действия истекает 30 июня 2025 г.

Поддерживает атрибуцию приобретения 3P для прогрессивных веб-приложения (PWA), которые были приобретены через магазин приложений или непосредственно из браузера.

Новые пробные версии Chromium источника

Эталонный целевой объект для межкорневого ARIA

Срок действия : 10.06.2025.

API reference Target позволяет ссылки на основе идентификаторов, особенно из

DisableThirdPartyStoragePartitioning3

Срок действия : 16.09.2025.

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

Фоновая Opt-Out замораживания страницы

Срок действия : 16.09.2025.

Эта пробная версия позволяет странице отказаться от замораживания фоновой страницы. В Chromium 133 вкладка, которая была фоном более 5 минут, может быть заморожена, если она интенсивно использует ЦП и экономия энергии активна, если только она не откажется. При разработке новых веб-API предоставляется пробная версия источника для страниц отказа для конкретных вариантов использования.

Примечание.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой Chromium.org и используемой в соответствии с условиями, описанными в международной лицензии Creative Commons Attribution 4.0.