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


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

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

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

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

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

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

WebView2

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

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

Функции CSS

Функция CSS if()

Функция CSS if() предоставляет простой и краткий способ выражения значений условной логики.

Функция if() принимает ряд пар "условие-значение", разделенных точкой с запятой. Функция оценивает каждое условие последовательно и возвращает значение, связанное с первым true условием. Если ни одно из условий не имеет значения true, функция возвращает пустой поток маркеров.

В следующем примере if() функция используется для задания цвета фона div элемента на основе значения настраиваемого свойства --color:

<style>
  div {
    color: var(--color);
    background-color: if(style(--color: white): black; else: white);
  }
  .dark {
    --color: black;
  }
  .light {
    --color: white;
  }
</style>
<div class="dark">dark</div>
<div class="light">light</div>

См. раздел Выбор условного значения: нотация if() в модуле значения CSS и единицы измерения уровня 5.

CSS reading-flow и reading-order свойства

Свойство reading-flow CSS управляет следующими элементами:

  • Порядок предоставления специальных возможностей элементам в макете flex, grid или block.
  • Порядок, в котором элементы в макете flex, grid или block фокусируются при использовании клавиши TAB .

Свойство reading-flow поддерживает следующие значения:

  • normal
  • flex-visual
  • flex-flow
  • grid-rows
  • grid-columns
  • grid-order
  • source-order

Свойство reading-order CSS позволяет вручную переопределить порядок в контейнере потока чтения. Значением reading-order является целое число, по умолчанию равное 0.

См. также:

Поддержка в shape()offset-path

Функция shape() CSS, которая уже поддерживается свойством clip-path CSS, теперь также поддерживается свойством offset-path CSS.

Это позволяет повторно использовать одну и ту же фигуру в нескольких свойствах CSS.

См . см. смещение пути в MDN.

Системный цвет акцента для accent-color свойства

Свойство accent-color CSS позволяет настраивать цвет элементов формы, таких как флажки, переключатели или индикаторы выполнения.

Теперь цвет по умолчанию для accent-color свойства соответствует цвету акцента операционной системы./g/blink-dev/c/WwYkLjbGhoA

См. раздел цвет акцента в MDN.

Автоматически созданные имена переходов представления

Свойство view-transition-name CSS поддерживает два новых значения, чтобы избежать необходимости придумывать уникальные имена для элементов, участвующих в переходе представления:

  • match-element — создает уникальный идентификатор, основанный на идентификаторе элемента. Это значение полезно в одностраничных приложениях, где элемент, анимированный с переходом представления, перемещается в DOM.

  • auto — Создает уникальный идентификатор, основанный на атрибуте id элемента. Это значение учитывает id только атрибут и игнорирует тип элемента. Такой подход позволяет переходить к представлению на нескольких страницах приложения, где элементы с одинаковым id атрибутом могут иметь разные типы.

См. раздел Автоматическое определение имени перехода представления.

Поддержка атрибута в transform<svg>

Свойства преобразования, такие как масштабирование, поворот, преобразование и перекос, теперь поддерживаются непосредственно в элементе <svg> с помощью атрибута transform .

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

Поддерживая transform атрибут, <svg> элемент можно преобразовать, не требуя дополнительных элементов-оболочки или сложных обходных решений CSS.

См. преобразование в MDN.

Игнорировать letter-spacing в скриптах cursive

Для каждой спецификации браузер теперь игнорирует letter-spacing свойство CSS при отрисовке cursive скриптов, чтобы избежать разбиения слов.

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

Правильное методивное удлинение или сжатие зависит от:

  • Сценарий.
  • Шрифт.
  • Язык.
  • Word расположение.
  • Расположение строки.
  • Сложность реализации.
  • Возможности шрифтов.
  • Каллиграфические предпочтения.

Правильное удлинение или сжатие могут привести к сокращению:

  • Лигатуры.
  • Варианты swash.
  • Контекстные формы.
  • Глифы удлинения.

Избегайте применения letter-spacing свойства к cursive скриптам, если вы не можете принять результаты, не совместимые.

См. раздел между буквами в MDN.

Веб-API

Измените тип ошибки, вызываемой при payment создании учетных данных веб-проверки подлинности, с на SecurityErrorNotAllowedError

Ранее при создании payment учетных данных в iframe с несколькими источниками без активации пользователем SecurityError создавалось исключение .

Теперь тип ошибки изменен на NotAllowedError, чтобы соответствовать типу ошибок, которые создаются для учетных данных для неплатежных учетных данных.

См. раздел API запроса на оплату в MDN.

Разрешить элементу SVG <use> ссылаться на внешние документы, не требуя идентификатора фрагмента URL-адреса

Элементы SVG <use> теперь могут связываться с внешними документами SVG без указания идентификатора фрагмента.

Ранее необходимо было явно ссылаться на фрагменты в документах SVG. Например:

<svg>
  <use xlink:href="myshape.svg#icon"></use>
</svg>

В приведенном выше примере — это идентификатор фрагмента, #icon указывающий на элемент с атрибутом id="icon" в документе myshape.svg . Если идентификатор не был задан, <use> элемент не мог разрешить целевой объект и ничего не отображалось.

Теперь можно опустить идентификаторы фрагментов и указать только имя внешнего файла документа SVG. Это автоматически ссылается на корневой элемент с помощью документа SVG. Например:

<svg>
  <use xlink:href="myshape.svg"></use>
</svg>

См. <use> статью MDN.

Секционирование URL-адресов BLOB-объектов

Доступ к URL-адресу BLOB-объекта теперь секционируется по ключу хранилища. Ключи хранилища — это сайты верхнего уровня, источники кадров и has-cross-site-ancestor логические. Навигации верхнего уровня остаются секционированы только по источнику кадра.

Секционирование доступа к URL-адресу BLOB-объектов по ключу хранилища аналогично тому, что в настоящее время реализовано в Firefox и Safari. Это сопоставляет использование URL-адреса BLOB-объектов со схемой секционирования, используемой другими API-интерфейсами хранилища в рамках секционирования хранилища.

Наряду с этим изменением Microsoft Edge теперь применяет переходы noopener верхнего уровня, инициированные отрисовщиком, к URL-адресам BLOB-объектов, где соответствующий сайт находится между сайтами верхнего уровня, на которых выполняется навигация. Это соответствует аналогичному поведению в Safari и соответствующим спецификациям.

Секционирование URL-адресов BLOB-объектов можно временно отменить, задав PartitionedBlobUrlUsage политику:

  • Если для этой политики задано Enabled значение или не задано, URL-адреса BLOB-объектов секционируются.
  • Если для этой политики задано значение Disabled, URL-адреса BLOB-объектов не секционируются.

См. раздел Ограничения доступа к URL-адресам BLOB-объектов в спецификации API файлов.

Стеки вызовов в отчетах о сбоях с веб-страниц без ответа

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

См . раздел API отчетов в MDN.

Типы цветов с плавающей запятой в <canvas>

CanvasRenderingContext2DОбъекты , OffscreenCanvasRenderingContext2Dи ImageData теперь поддерживают форматы пикселей с плавающей запятой в дополнение к 8-разрядным форматам фиксированной точки.

Это изменение включает высокоточные приложения, такие как:

  • Медицинские визуализации.
  • Содержимое с высоким динамическим диапазоном.
  • Линейные рабочие цветовые пространства.

См . раздел Значения цвета с плавающей запятой холста.

Политики изоляции документов

Политики изоляции документов позволяют документу включить изоляцию между источниками сам по себе без необходимости использовать заголовки ответов Cross-Origin-Opener-Policy (COOP) или Cross-Origin-Embedder-Policy (COEP) и независимо от состояния изоляции между источниками страницы.

См. также:

Поддержка алгоритма подписи Ed25519 в API веб-шифрования

API веб-шифрования теперь поддерживает алгоритм подписи Ed25519.

См . раздел Безопасные кривые в WebCrypto.

Интеграция JavaScript Promise (JSPI) в WebAssembly

JavaScript Promise Integration (JSPI) — это API, который позволяет приложениям WebAssembly интегрироваться с обещаниями JavaScript.

JSPI позволяет программе WebAssembly выступать в качестве генератора Promise и позволяет программе WebAssembly взаимодействовать с API-интерфейсами, несущими обещание.

Когда приложение использует JSPI для вызова API для обработки обещаний (JavaScript):

  • Код WebAssembly приостановлен.
  • Исходному вызывающему объекту программы WebAssembly предоставляется обещание, которое будет выполнено после завершения программы WebAssembly.

См . раздел js-promise-integration.

Указание ветвей WebAssembly

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

Это позволяет подсистеме принимать более качественные решения о макете кода и распределении регистров.

См. раздел Указание ветвей.

Ограничение типов атрибутов и аргументов, которые принимают SVGMatrix, SVGRect и SVGPoint.

Установка атрибутов и аргументов SVGMatrix, SVGRect и SVGPoint в Infinity значение или NaN теперь запрещена.

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

См . раздел API SVG в MDN.

API getComposedRanges выбора и direction

API selection теперь поддерживает следующие свойства и метод:

  • Selection.direction возвращает направление выделения в виде none, forwardили backward.
  • Selection.getComposedRanges() возвращает список из 0 или 1 составныхStaticRange объектов.

Составной StaticRange объект может пересекать границы DOM тени, в отличие от Range объектов.

Например:

const range = getSelection().getComposedRanges({ shadowRoots: [root] });

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

См. раздел Выбор: метод getComposedRanges() в MDN.

WebGPU API

Привязка externalTexture к GPUTextureView

При создании GPUBindGroup при использовании WepGPU теперь можно привязать externalTexture к GPUTextureView.

Это помогает в таких сценариях, как использование API WebGPU для конвейеров видеоэффектов. Разрешив использование GPUExternalTextureсовместимого GPUTextureView вместо , логика шейдера упрощается.

См . раздел GPUExternalTexture в MDN.

Скопируйте целые буферы с помощью copyBufferToBuffer()

Метод GPUCommandEncoder.copyBufferToBuffer() упрощает копирование целых буферов, позволяя опускать offsets параметры и size .

См . раздел GPUCommandEncoder: метод copyBufferToBuffer() в MDN.

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

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

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

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

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

Приостановка воспроизведения мультимедиа на необрисованных iframe-кадрах

Срок действия истекает 27 января 2026 г.

Политика media-playback-while-not-visible разрешений приостанавливает любые мультимедиа, воспроизводимые iframeми, которые в настоящее время не отображаются на недопустимых кадрах. Это правило применяется всякий раз, когда свойству CSS iframe display присвоено значение none или если свойству visibility присвоено значение hidden или collapse.

В настоящее HTMLMediaElements время поддерживаются элементы мультимедиа и AudioContexts .

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

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

Срок действия : 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.

Примечание.

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