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


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

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

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

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

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

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

WebView2

См . статью 1.0.3296.44 в заметках о выпуске пакета SDK для WebView2 (июнь 2025 г.).

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

Функции CSS

ключевое слово изменения размера CSS stretch

Ключевое слово stretch для свойств размера CSS, таких как width и height, позволяет элементу расти, чтобы точно заполнить доступное пространство содержащего его блока. Размер stretch ключевое слово аналогичен значению 100%, за исключением того, что результирующий размер применяется к поле поля элемента, а не к прямоугольнику, указанному в box-sizingполе .

Ключевое слово stretch позволяет элементу сохранять свои поля, но при этом быть как можно больше. Это нерекоментивная версия -webkit-fill-available.

См. также:

CSS abs() и sign() функции

Функция abs(A) возвращает абсолютное значение A того же типа, что и входные данные:

  • Если числовое значение A является положительным или 0⁺, abs(A) выводит A.
  • abs(A) В противном случае выводит -1 * A.

Функция sign(A) возвращает:

  • -1, если числовое значение A отрицательное.
  • +1, если числовое значение A является положительным.
  • 0⁺, если числовое значение A равно 0⁺.
  • 0⁻, если числовое значение A равно 0⁻.

Возвращаемый тип CSS имеет <number>значение , что соответствует типу входного вычисления.

См. также:

Переменная среды CSS для масштабирования шрифтов на уровне ОС

Переменная preferred-text-scale среды CSS предоставляет предпочитаемое пользователем масштабирование шрифтов в CSS.

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

См. также:

CSS sibling-index() и sibling-count() функции

sibling-index() и sibling-count() можно использовать в качестве целых чисел в значениях свойств CSS для оформления элементов на основе их положения среди одноуровневых элементов или общего числа одноуровневых элементов. Эти функции можно использовать внутри calc() выражений или непосредственно в качестве целочисленных значений.

Например, можно использовать функцию sibling-index() внутри calc() выражения, чтобы задать левое поле элемента списка на основе его положения среди его братьев:

li {
  margin-inline-start: calc(1rem * sibling-index());
}

См. также:

Ход интерполяции: функция CSS progress()

Математическая progress() функция CSS возвращает объект <number> , представляющий позицию значения между начальным и конечным значением выполнения.

progress() может быть полезно в таких случаях, как типография жидкости.

См. также:

Веб-API

Предварительные версии API командной строки и помощи по написанию

API запроса и API-интерфейсы помощника по написанию теперь доступны в качестве предварительных версий для разработчиков в каналах Edge Canary и Dev.

Эти API предоставляют доступ к мощной малой языковой модели Phi-4-mini, встроенной в браузер Edge.

Используйте эти API, чтобы опробовать разработку запросов, суммировать и изменять содержимое или создавать текст.

См. также:

Новые prefetchCache значения и prerenderCache для заголовка Clear-Site-Data

Теперь Clear-Site-Data заголовок HTTP поддерживает новые prefetchCache значения и prerenderCache .

Ранее единственным способом очистить кэш предварительной выборки и предварительной отрисовки было использование cache значения заголовка Clear-Site-Data HTTP. С увеличением внедрения API правил спекуляции разработчикам необходимо специально очистить кэш предварительной выборки или кэш предварительной отрисовки или и то, и другое, не нарушая другие сведения о сеансе, такие как журнал или файлы cookie.

См. также:

Метаданные ориентации видеокадра в WebCodecs

Различные интерфейсы, связанные с видео, в WebCodecs теперь имеют rotation значения и flip :

  • Интерфейс VideoFrame теперь может создавать экземпляры объектов с произвольными rotation значениями и flip .
  • Теперь VideoDecoderConfig у объекта есть rotation поля и flip , которые автоматически создаются для декодированных VideoFrame объектов.
  • Класс VideoEncoder теперь имеет механизм передачи rotation и flip информации из encode() в объект , VideoDecoderConfig который создается в составе EncodedVideoChunkMetadata.

Ранее разработчики не имели возможности узнать, когда они получают видеокадры с ориентацией, отличной от ориентации по умолчанию.

См. также:

Новые is_top_level поля и visibility_state в отчетах API отчетов о сбоях

Отчеты о сбоях, отправляемые в конечные точки по умолчанию API отчетов о сбоях, теперь имеют is_top_level строковые поля и visibility_state .

Поля is_top_level и visibility_state представляют собой контекстуальные биты информации о кадрах сбоя в отчете о сбое.

См. также:

Запрет предварительной отрисовки обычного текста по протоколу HTTP

Чтобы обеспечить согласованность предварительной отрисовки с предварительным получением, предварительная отрисовка обычного текста теперь работает только по протоколу HTTPS.

Ранее предварительная отрисовка обычного текста разрешалась через подключения HTTP и HTTPS.

См. также:

Escape < и > в HTML-атрибутах при сериализации

Символы < и > в значениях атрибутов элемента HTML теперь экранируются при сериализации HTML. Это снижает риск изменения атак XSS, которые происходят, когда значение атрибута интерпретируется как маркер начального тега после сериализации и повторного анализа.

Integrity-Policy заголовок для целостности подресурсов скриптов

Новый Integrity-Policy заголовок позволяет утверждать, что каждый ресурс заданного типа должен быть проверен на целостность. Если ресурс указанного типа пытается загрузиться без метаданных целостности, эта попытка завершается ошибкой и создает отчет о нарушении.

См. также:

Прогнозируемая квота хранилища

Квота хранилища, сообщаемая методом StorageManager estimate() для сайтов без неограниченных разрешений на хранение, теперь одинакова во всех режимах просмотра.

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

Указанная квота теперь равна текущему использованию хранилища, а также минимальному значению от 10 ГиБ до размера диска устройства, округленного до ближайшего 1 ГиБ, во всех режимах просмотра для сайтов с ограниченными разрешениями на хранение.

Сайты с неограниченными разрешениями на хранение не затрагиваются.

См. также:

pushsubscriptionchange событие при повторной подписке

Событие pushsubscriptionchange запускается рабочей ролью службы, когда источнику повторно предоставляется разрешение на уведомление, после того, как предыдущая подписка источника была отозвана из-за изменения разрешения (с granted на deny или default).

Событие запускается с пустым oldSubscription и newSubscription.

См. также:

Правила спекуляции: target_hint поле

Синтаксис правил спекуляции расширен, чтобы можно было указать target_hint поле. Поле target_hint содержит подсказку для браузера, чтобы узнать, где будет отображаться предварительно отрисованный целевой объект, например в новой вкладке или окне.

Например, если _blank указан в качестве подсказки, предварительно отрисованная страница может быть отрисовано в окне, открытом с помощью window.open().

target_hint в настоящее время поддерживает _self строки и _blank . Если указание не указано, оно обрабатывается как _self.

Поле target_hint не влияет на правила предварительной выборки спекуляций.

См. также:

API перечисления сегментов окна просмотра

API перечисления сегментов окна просмотра позволяет адаптировать макет веб-сайта к целевым складным устройствам.

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

Сегменты — это области окна просмотра, которые можно рассматривать как логически отличающиеся друг от друга.

См. также:

Расширения область веб-приложения

Новое "scope_extensions" поле манифеста веб-приложения позволяет веб-приложению расширить область на другие источники.

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

{
  "name": "Example",
  "display": "standalone",
  "start_url": "/index.html",
  "scope_extensions": [
    {"type" : "origin", "origin" : "https://example.com"}
  ]
}

Поле scope_extensions позволяет представить сайт, который управляет несколькими поддоменами и доменами верхнего уровня, в виде одного веб-приложения.

Поле scope_extensions требует перечисленных источников, чтобы подтвердить связь с веб-приложением с помощью .well-known/web-app-origin-association файла конфигурации:

{
  "https://sample-app.com/": {
    "scope": "/"
  }
}

См. также:

Удаленные компоненты

Удаление асинхронного диапазона для расширений источника мультимедиа теперь вызывает исключения

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

  • SourceBuffer.abort() больше не прерывает SourceBuffer.remove() операции.
  • Параметр MediaSource.duration больше не может усечь буферный носитель.

Хотя эти изменения были внесены давно, и Safari и Firefox уже реализовали их, Chromium еще не сделали этого. Теперь в обоих случаях будут возникать исключения.

См. также:

Удаление автоматического резервного варианта SwiftShader

Ранее, если контекст WebGL не мог быть создан с доступным GPU, Chromium автоматически вернется к использованию программного отрисовщика SwiftShader. Это автоматическое резервное поведение теперь удалено, и создание контекста WebGL теперь завершится сбоем вместо того, чтобы вернуться к SwiftShader.

SwiftShader создает риски безопасности и приводит к плохому взаимодействию с пользователем при переходе от высокопроизводительного WebGL с поддержкой GPU к реализации на основе ЦП.

SwiftShader остается полезным инструментом для тестирования без головы на сайте. Этот вариант использования по-прежнему поддерживается при согласии, что можно сделать, запустив Microsoft Edge с аргументом командной --enable-unsafe-swiftshader строки.

См. также:

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

Ниже приведены новые экспериментальные API, которые можно попробовать на собственном веб-сайте в течение ограниченного времени.

Дополнительные сведения о пробных версиях источника см. в статье Использование пробных версий источника в Microsoft Edge.

Полный список доступных пробных версий источника см. в статье Пробные версии источника Microsoft Edge.

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

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

Срок действия : 31 июля 2025 г.

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

Расширения область веб-приложения

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

scope_extensions— это новый элемент манифеста веб-приложения, который позволяет веб-приложениям расширять свои область на другие источники.

Расширения области позволяют представлять веб-приложения, использующие несколько поддоменов и доменов верхнего уровня, в виде одного веб-приложения.

{
  "name": "Example app",
  "display": "standalone",
  "start_url": "/index.html",
  "scope_extensions": [
    {
      "type": "type",
      "origin": "https://example.com"
    }
  ]
}

Источники, перечисленные в элементе scope_extensions , должны подтвердить, что они связаны с веб-приложением, путем размещения файла конфигурации с именем .well-known/web-app-origin-association. В файле должен быть указан источник веб-приложения:

{
  "https://sample-app.com/": {
    "scope": "/"
  }
}
API сведений о приобретении

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

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

Устаревание MS High Contrast

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

Включает устаревший запрос к мультимедиа CSS -ms-high-contrast и устаревшее -ms-high-contrast-adjust свойство.

См. статью Нерекомендуемая поддержка для -ms-high-contrast и -ms-high-contrast-adjust.

AriaNotify API

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

API AriaNotify позволяет разработчикам напрямую сообщать средству чтения с экрана, что следует читать. В простейшем сценарии вызовите ariaNotify("foo") документ или элемент .

См . статью Создание более доступных веб-сайтов с помощью Aria Notify.

Примечание.

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