Compartir a través de


Notas de la versión de la plataforma web de Microsoft Edge 133 (febrero de 2025)

A continuación se muestran las nuevas características y actualizaciones de la plataforma web en Microsoft Edge 133, que se publica el 6 de febrero de 2025.

Para mantenerse al día y obtener las características más recientes de la plataforma web, descargue una versión insiders de Microsoft Edge, como Canary, Dev o Beta; consulte Convertirse en un insider de Microsoft Edge.

Contenido detallado:

Edge DevTools

Para Edge DevTools, consulte Novedades de DevTools (Microsoft Edge 133).

WebView2

Para WebView2, consulte notas de la versión del SDK de WebView2.

Características de la plataforma web

Características habilitadas

Animation.overallProgress

Agrega una overallProgress propiedad a la clase JavaScript Animation .

Esta propiedad proporciona una representación cómoda y coherente de lo lejos que una animación ha avanzado en sus iteraciones e independientemente de la naturaleza de su escala de tiempo.

Atomics.pause

Agrega el Atomics.pause método para sugerir a la CPU que el código actual está ejecutando un bloqueo de número.

Informes hash de CSP para scripts

Las aplicaciones web complejas a menudo necesitan mantener un registro de los subrecursos que descargan por motivos de seguridad. En concreto, los próximos estándares y procedimientos recomendados del sector (como PCI-DSS v4) requieren que las aplicaciones web conserven un inventario de todos los scripts que descargan y ejecutan.

Esta característica se basa en la directiva de seguridad de contenido (CSP) y la API de informes para notificar las direcciones URL y los hashes de todos los recursos de script que carga el documento.

Pseudoclase CSS :open

Las :open pseudoclase coinciden <dialog> y <details> cuando están en su estado abierto, y coinciden <select> y <input> cuando están en modos que tienen un selector y se muestra el selector.

Consultas de contenedor de estado de desplazamiento CSS

Use consultas de contenedor para aplicar estilo a los descendientes de contenedores en función de su estado de desplazamiento.

El contenedor de consultas es un contenedor de desplazamiento o un elemento afectado por la posición de desplazamiento de un contenedor de desplazamiento. Se pueden consultar los siguientes estados:

  • stuck: un contenedor colocado pegajoso se bloquea en uno de los bordes del cuadro de desplazamiento.
  • snapped: un contenedor alineado con ajuste de desplazamiento se ajusta actualmente horizontal o verticalmente.
  • scrollable: si un contenedor de desplazamiento se puede desplazar en una dirección consultada.

Un nuevo container-type: scroll-state permite consultar contenedores.

Por ejemplo:

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

@container scroll-state(stuck: top) {
  #sticky-child { font-size: 75% }
}
Función avanzada attr() css

Implemente el aumento a attr() que se especifica en el nivel 5 de CSS, que permite tipos además <string>de y permite el uso en todas las propiedades CSS (además de pseudo-elemento content).

Ejemplo:

<style>
  div {
     background-color: attr(data-foo type(<color>), red);
  }
</style>
<div data-foo="blue">test</div>
Propiedades CSStext-box, text-box-trimy text-box-edge

Para lograr el equilibrio óptico del contenido de texto, las text-box-trim propiedades y text-box-edge , junto con la text-box propiedad abreviada, hacen posible un control más preciso de la alineación vertical del texto.

La text-box-trim propiedad especifica los lados que se van a recortar (por encima o por debajo). La text-box-edge propiedad especifica cómo se debe recortar el borde.

Estas propiedades permiten controlar el espaciado vertical con precisión mediante las métricas de fuente.

ideographic y ideographic-ink, dos valores de la text-box-edge propiedad para los caracteres chino, japonés y coreano (CJK) se aplazan a una versión futura.

Movimiento que conserva el estado dom

Esta característica agrega un primitivo DOM (moveBefore) que permite mover un elemento en un árbol DOM, sin restablecer el estado del elemento. Esta función está disponible en ParentNode nodos, como Element, Documenty DocumentFragment.

Al mover un elemento en lugar de quitar o insertar un elemento, se conserva el estado como el siguiente:

  • <iframe> los elementos permanecen cargados.
  • El elemento activo conserva el foco.
  • Las ventanas emergentes y los diálogos permanecen abiertos.
  • Las transiciones y animaciones css continúan ejecutándose.
Exponer el attributionsrc atributo en <area>

Para informes de atribución, el attributionsrc atributo ya se procesó involuntariamente en <area> los elementos, debido al código compartido con <a>, que admitía intencionadamente ese atributo.

Por motivos de integridad, el atributo en <area> se expone con una sintaxis y semántica idénticas a <a>, y sin cambiar el procesamiento anterior. Cuando se navega una <area> etiqueta con un attributionsrc atributo, la solicitud en primer plano puede registrar orígenes de navegación y, si el atributo no está vacío, una o varias solicitudes en segundo plano también podrán registrar orígenes de navegación.

Exponer el origen renderTime cruzado grueso en el tiempo de los elementos y la pintura con contenido más grande (LCP), independientemente del Timing-Allow-Origin encabezado (TAO)

Todas las entradas de rendimiento de LCP y control de tiempo de elemento tendrían un valor distinto de cero renderTime, incluso si son de origen cruzado sin un Timing-Allow-Origin encabezado. Todas las marcas de tiempo de presentación (renderTimehora de inicio de tiempo de pintura y hora de finalización de tiempo de evento) se analizarán en un múltiplo de 4 ms, para reducir el riesgo de leer información de imágenes entre orígenes.

La FileSystemObserver interfaz

La FileSystemObserver interfaz notifica a los sitios web los cambios en el sistema de archivos. Los sitios observan cambios en archivos y directorios, a los que el usuario ha concedido permiso anteriormente, en el dispositivo local del usuario (como se especifica en WICG/file-system-access) o en el sistema de archivos de bucket (como se especifica en whatwg/fs), y se notifica la información básica de cambios, como el tipo de cambio.

Varios mapas de importación

Actualmente, las asignaciones de importación deben cargarse antes de cualquier módulo es y solo puede haber una única asignación de importación por documento. Esto hace que los mapas de importación sean frágiles y potencialmente lentos de usar en escenarios de la vida real: cualquier módulo que se cargue antes de importar mapas interrumpe toda la aplicación y, en las aplicaciones con muchos módulos, los mapas de importación se convierten en un gran recurso de bloqueo, ya que todo el mapa de todos los módulos posibles debe cargarse primero.

Esta característica permite la importación de varios mapas por documento mediante la combinación de mapas de importación de forma coherente y determinista.

Mejoras en el invocador de elementos emergentes y el posicionamiento de anclaje

Este cambio corresponde al siguiente conjunto de cambios relacionado:

  1. Agregue una manera imperativa de establecer relaciones de invocador entre elementos emergentes: popover.showPopover({source}).
  2. Las relaciones del invocador crean referencias implícitas a elementos delimitadores.
Un elemento emergente anidado dentro de un invocador no debe volver a invocarlo

Al hacer clic en un elemento emergente anidado no se vuelve a invocar el mismo elemento emergente.

En el ejemplo siguiente, al hacer clic en el botón se activa correctamente la ventana emergente. Sin embargo, al hacer clic en el elemento emergente en sí después de eso, no debería cerrarse la ventana emergente. Anteriormente, el elemento emergente se cerró en este caso, ya que el clic emergente se propagaba hasta <button> y activó el invocador, que cerró la ventana emergente.

<button popovertarget=foo>Activate
  <div popover id=foo>Clicking me shouldn't close me</div>
</button>
Tiempo de recursos: revertir responseStart el cambio e introducir firstResponseHeadersStart

Tiempo de los recursos:

  • responseStart devuelve la primera respuesta, ya sea sugerencias tempranas (provisionales) o finales.
  • El tiempo de los encabezados de respuesta final (2xx/4xx/5xx) se expone como finalResponseHeadersStart.
Encabezados de acceso de almacenamiento

Ofrece una manera alternativa para que las incrustaciones autenticadas opten por las cookies no particionadas. Estos encabezados indican si las cookies no particionadas se incluyen (o se pueden incluir) en una solicitud de red determinada. Estos encabezados también permiten a los servidores activar storage-access los permisos que ya se les han concedido. Proporcionar una manera alternativa de activar el permiso permite el storage-access uso por parte de recursos que no son de iframe y puede reducir la latencia de las incrustaciones autenticadas.

Compatibilidad con la creación de un ClipboardItem con Promise<DOMString>

ClipboardItem es la entrada al método de escritura del Portapapeles asincrónico. El ClipboardItem constructor ahora acepta valores de cadena además de BLOB. ClipboardItemData puede ser un BLOB; una cadena; o una promesa que se resuelve en un BLOB o una cadena.

API de autenticación web: el getClientCapabilities() método de PublicKeyCredential

El getClientCapabilities() método permite determinar qué características de WebAuthn son compatibles con el cliente del usuario. Este método devuelve una lista de funcionalidades admitidas, lo que le permite personalizar las experiencias de autenticación y los flujos de trabajo en función de la funcionalidad específica del cliente.

Propuesta de memoria de WebAssembly64

La propuesta memory64 agrega compatibilidad con memorias WebAssembly lineales de más de 2^32 bits. Esta propuesta no proporciona instrucciones nuevas, sino que amplía las instrucciones existentes para permitir índices de 64 bits para memorias y tablas.

WebGPU: formatos de vértice de 1 componente (y unorm8x4-bgra)

Agrega formatos de vértice adicionales que no estaban presentes en la versión inicial de WebGPU, debido a la falta de compatibilidad, o versiones anteriores de macOS que ya no son compatibles con ningún explorador. Los formatos de vértice de 1 componente permiten a la aplicación solicitar solo los datos necesarios, cuando anteriormente, la aplicación tenía que solicitar al menos 2 veces más datos para tipos de datos de 8 bits y 16 bits. El unorm8x4-bgra formato hace que sea ligeramente más cómodo cargar colores de vértice codificados en BGRA manteniendo el mismo sombreador.

Algoritmo X25519 de la API de criptografía web

El algoritmo X25519 proporciona herramientas para realizar un acuerdo de clave mediante la función X25519 especificada en RFC7748. El X25519 identificador de algoritmo se puede usar en la SubtleCrypto interfaz para acceder a las operaciones implementadas: generateKey, importKey, exportKey, deriveKeyy deriveBits.

popover=hint

La API de Popover especifica el comportamiento de dos valores del popover atributo: auto y manual. Esta característica describe un tercer valor, popover=hint. Las sugerencias, que suelen estar asociadas con comportamientos de tipo de información sobre herramientas, tienen comportamientos ligeramente diferentes. La principal diferencia es que un hint elemento está subordinado a autos al abrir pilas anidadas de elementos emergentes. Por lo tanto, es posible abrir un popover no relacionado hint mientras una pila existente de auto popovers permanece abierta. El ejemplo canónico es que un <select> selector está abierto (popover=auto) y se muestra una información sobre herramientas desencadenada por el mouse (popover=hint). Esa acción no cierra el <select> selector.

Características en desuso y eliminadas

Límite de WebGPU en desuso maxInterStageShaderComponents

El maxInterStageShaderComponents límite se está quitando, debido a una combinación de factores:

  • Redundancia con maxInterStageShaderVariables: este límite ya tiene un propósito similar: controlar la cantidad de datos pasados entre las fases del sombreador.

  • Discrepancias menores: hay ligeras diferencias en la forma en que se calculan los dos límites, pero estas diferencias son menores y se pueden administrar eficazmente dentro del maxInterStageShaderVariables límite.

  • Simplificación: la eliminación maxInterStageShaderComponents simplifica la interfaz del sombreador y reduce la complejidad para los desarrolladores. En lugar de administrar dos límites independientes (que se aplican simultáneamente, pero con diferencias sutiles), puede centrarse en maxInterStageShaderVariables, que tiene un nombre más adecuado y es completo.

Anteriormente, cuando un recurso se capturaba previamente mediante <link rel=prefetch>, su semántica de caché (específicamente, max-age y no-cache) se omitía para el primer uso en un plazo de 5 minutos, para evitar la refetching. Ahora, se ha quitado este caso especial y se usa la semántica de caché HTTP normal.

Esto significa que para beneficiarse de <link rel=prefetch>, debe incluir los encabezados de almacenamiento en caché adecuados (es decir, Cache-Control o Expires).

Esto también afecta al no estándar <link rel=prerender>.

Esto corrige un error con la captura previa de reglas de especulación, donde las respuestas no 2xx se almacenaban en caché. Esto no requiere encabezados de almacenamiento en caché para la captura previa de reglas de especulación, ya que estos encabezados están diseñados para la captura previa de navegación y, por tanto, tienen necesidades de almacenamiento en caché diferentes de la caché HTTP normal.

Pruebas de origen

A continuación se muestran las nuevas API experimentales que puede probar en su propio sitio web en directo durante un tiempo limitado. Para más información sobre las pruebas de origen, consulte Uso de las pruebas de origen en Microsoft Edge. Para ver la lista completa de las pruebas de origen disponibles, consulte Pruebas de origen de Microsoft Edge.

Pruebas de origen solo de Microsoft Edge

Digital Goods API

Expira el 31 de marzo de 2025.

Digital Goods API permite a una aplicación web obtener información sobre sus productos digitales y las compras del usuario administradas por una tienda digital. El agente de usuario abstrae las conexiones a la tienda y la API de solicitud de pago se usa para realizar compras.

Acceso a aplicaciones LocalFolder web

Expira el 31 de marzo de 2025.

Permite que los Web Apps progresivos (PWA) instalados en Microsoft Store accedan al contenido de archivo almacenado anteriormente en la carpeta WinRT ApplicationData.LocalFolder por una versión anterior de la aplicación para UWP.

Atributo de escritura a mano HTML+IDL

Expira el 14 de junio de 2025.

Control por documento y por elemento pormenorizado sobre qué contenido debe permitir o no permitir la entrada de escritura a mano.

API de información de adquisición

Expira el 30 de junio de 2025.

Admite la atribución de adquisición 3P para Web Apps progresivas (PWA) que se adquirieron a través de una tienda de aplicaciones o directamente desde el explorador.

Nuevas pruebas de origen de Chromium

Destino de referencia para ARIA entre raíz

Expira el 10/6/2025.

La API de destino de referencia permite que las referencias basadas en identificadores, especialmente de

DisableThirdPartyStoragePartitioning3

Expira el 16/9/2025.

Se trata de una evaluación de desuso de uso general que permite que un sitio de nivel superior opte por el almacenamiento no particionado, los trabajadores del servicio y las API de comunicación, para contextos de terceros insertados en su sitio. Esto proporciona a los sitios más tiempo para probar y migrar a soluciones que no requieren almacenamiento con particiones.

Inmovilización de página en segundo plano Opt-Out

Expira el 16/9/2025.

Esta versión de prueba permite que una página no pueda participar de la congelación de páginas en segundo plano. En Chromium 133, se puede inmovilizar una pestaña que estuvo en segundo plano durante más de 5 minutos si consume mucha CPU y el ahorro de energía está activa, a menos que se opte por no participar. Se proporciona una exclusión de prueba de origen mientras se desarrollan nuevas API web para excluir páginas para casos de uso específicos.

Nota:

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por Chromium.org y usadas de acuerdo con los términos descritos en la Licencia internacional creative Commons Attribution 4.0.