Compartilhar via


Notas de versão da plataforma Web do Microsoft Edge 133 (fevereiro de 2025)

Seguem-se as novas funcionalidades e atualizações da plataforma Web no Microsoft Edge 133, que será lançado a 6 de fevereiro de 2025.

Para se manter atualizado e obter as funcionalidades mais recentes da plataforma Web, transfira um canal de pré-visualização do Microsoft Edge (Beta, Dev ou Canary); aceda a Tornar-se um Microsoft Edge Insider.

Conteúdo detalhado:

Edge DevTools

Veja Novidades no DevTools (Microsoft Edge 133).

WebView2

Consulte 1.0.3065.39 (10 de fevereiro de 2025) em Notas de Versão Arquivadas para o SDK WebView2.

Funcionalidades da plataforma Web

Funcionalidades ativadas

Animation.overallProgress

Adiciona uma overallProgress propriedade à classe JavaScript de Animação .

Esta propriedade fornece uma representação conveniente e consistente do quão longe uma animação avançou nas suas iterações e independentemente da natureza do seu linha do tempo.

Atomics.pause

Adiciona o Atomics.pause método para indicar à CPU que o código atual está a executar um spinlock.

Relatórios de hash CSP para scripts

Muitas vezes, as aplicações Web complexas precisam de manter um registo das sub-origens que transferem, para fins de segurança. Em particular, as futuras normas e melhores práticas do setor (como PCI-DSS v4) exigem que as aplicações Web mantenham um inventário de todos os scripts que transferem e executam.

Esta funcionalidade baseia-se na Política de Segurança de Conteúdo (CSP) e na API de Relatórios para comunicar os URLs e hashes de todos os recursos de script que o documento carrega.

Pseudoclasse CSS :open

As :open correspondências <dialog> pseudoclasse e <details> quando estão no estado aberto e as correspondências <select> e <input> quando estão em modos que têm um seletor e o seletor é apresentado.

Consultas de contentor de estado de deslocamento CSS

Utilize consultas de contentor para modelar descendentes de contentores com base no respetivo estado de deslocamento.

O contentor de consulta é um contentor de deslocamento ou um elemento afetado pela posição de deslocamento de um contentor de deslocamento. Os seguintes estados podem ser consultados:

  • stuck: um contentor colocado autocolante está bloqueado numa das extremidades da caixa de deslocamento.
  • snapped: um contentor alinhado com o ajuste de deslocamento está atualmente encaixado horizontal ou verticalmente.
  • scrollable: se um contentor de deslocamento pode ser percorrido numa direção consultada.

Uma nova container-type: scroll-state permite que os contentores sejam consultados.

Por exemplo:

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

@container scroll-state(stuck: top) {
  #sticky-child { font-size: 75% }
}
Função avançada attr() CSS

Implemente o aumento para attr() o especificado no Nível CSS 5, que permite tipos além <string>de e permite a utilização em todas as propriedades CSS (além do pseudo-elemento content).

Exemplo:

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

Para alcançar o equilíbrio ótico do conteúdo de texto, as text-box-trim propriedades e text-box-edge , juntamente com a text-box propriedade abreviada, tornam possível um controlo mais fino do alinhamento vertical do texto.

A text-box-trim propriedade especifica os lados a cortar (acima ou abaixo). A text-box-edge propriedade especifica como o limite deve ser cortado.

Estas propriedades permitem-lhe controlar o espaçamento vertical com precisão através das métricas do tipo de letra.

ideographic e ideographic-ink, dois valores para a text-box-edge propriedade para carateres chinês, japonês e coreano (CJK) são diferidos para uma versão futura.

Mover preservação de estado do DOM

Esta funcionalidade adiciona um PRIMITIVO DOM (moveBefore) que permite mover um elemento numa árvore DOM, sem repor o estado do elemento. Esta função está disponível em ParentNode nós, como Element, Documente DocumentFragment.

Ao mover um elemento em vez de remover ou inserir um elemento, o estado tal como o seguinte é preservado:

  • <iframe> os elementos permanecem carregados.
  • O elemento ativo mantém o foco.
  • Os pop-overs e as caixas de diálogo permanecem abertos.
  • As transições e animações CSS continuam a ser executadas.
Expor o attributionsrc atributo em <area>

Para Relatórios de Atribuição, o attributionsrc atributo já foi processado involuntariamente em <area> elementos, devido ao código partilhado com <a>, que suportava intencionalmente esse atributo.

Para concluir, o atributo em <area> é exposto com sintaxe idêntica e semântica a <a>e sem alterar o processamento anterior. Quando uma <area> etiqueta com um attributionsrc atributo é navegada, o pedido em primeiro plano pode registar origens de navegação e, se o atributo não estiver vazio, um ou mais pedidos em segundo plano também poderão registar origens de navegação.

Expor a origem renderTime cruzada esporádica na temporização de elementos e no Maior Contentful Paint (LCP), independentemente do Timing-Allow-Origin cabeçalho (TAO)

Todas as entradas de desempenho LCP e temporização de elementos teriam um valor diferente de zero renderTime, mesmo que fossem de origem cruzada sem um Timing-Allow-Origin cabeçalho. Todos os carimbos de data/hora da apresentação (renderTime, hora de início da temporização da pintura e hora de fim da temporização do evento) serão codificados para um múltiplo de 4ms, para reduzir o risco de leitura de informações de imagens de várias origens.

A FileSystemObserver interface

A FileSystemObserver interface notifica sites de alterações ao sistema de ficheiros. Os sites observam alterações a ficheiros e diretórios, aos quais o utilizador concedeu anteriormente permissão, no dispositivo local do utilizador (conforme especificado em WICG/file-system-access) ou no Sistema de Ficheiros de Registo (conforme especificado em whatwg/fs) e são notificados de informações básicas de alteração, como o tipo de alteração.

Vários mapas de importação

Atualmente, os mapas de importação têm de ser carregados antes de qualquer módulo do ES e só pode haver um único mapa de importação por documento. Isto torna os mapas de importação frágeis e potencialmente lentos a serem utilizados em cenários reais: qualquer módulo carregado antes de importar mapas interrompe toda a aplicação e, em aplicações com muitos módulos, os mapas de importação tornam-se um grande recurso de bloqueio, porque todo o mapa para todos os módulos possíveis tem de ser carregado primeiro.

Esta funcionalidade permite vários mapas de importação por documento ao intercalar os mapas de importação de forma consistente e determinista.

Melhorias ao invocador de pop-over e ao posicionamento da âncora

Esta alteração corresponde ao seguinte conjunto relacionado de alterações:

  1. Adicione uma forma imperativa de definir relações de invocador entre popovers: popover.showPopover({source}).
  2. As relações de invocador criam referências implícitas de elementos de âncora.
Um pop-over aninhado dentro de um invocador não deve invocá-lo novamente

Clicar num pop-over aninhado não invoca novamente o mesmo pop-over.

No exemplo seguinte, clicar no botão ativa corretamente o pop-over. No entanto, clicar no próprio pop-over depois disso não deve fechar o pop-over. Anteriormente, o pop-over foi fechado neste caso, porque o clique de pop-over apareceu <button> no e ativou o invocador, que fechou o pop-over.

<button popovertarget=foo>Activate
  <div popover id=foo>Clicking me shouldn't close me</div>
</button>
Temporização dos recursos: reverter responseStart alterar e introduzirfirstResponseHeadersStart

Temporização dos recursos:

  • responseStart devolve a primeira resposta, seja sugestões iniciais (provisórias) ou finais.
  • O tempo final dos cabeçalhos de resposta (2xx/4xx/5xx) é exposto como finalResponseHeadersStart.
Cabeçalhos de acesso ao armazenamento

Oferece uma forma alternativa de as incorporações autenticadas optarem por cookies não particionados. Estes cabeçalhos indicam se os cookies não particionados são (ou podem ser) incluídos num determinado pedido de rede. Estes cabeçalhos também permitem que os servidores ativem storage-access as permissões que já lhes foram concedidas. Fornecer uma forma alternativa de ativar a storage-access permissão permite a utilização por recursos não iframe e pode reduzir a latência para incorporações autenticadas.

Suporte para criar um ClipboardItem com Promise<DOMString>

ClipboardItem é a entrada para o método de escrita da área de transferência assíncrona. O ClipboardItem construtor aceita agora valores de cadeia, além de BLOBs. ClipboardItemData pode ser um BLOB; uma cadeia; ou uma Promessa que resolve para um BLOB ou uma cadeia.

API de Autenticação Web: o getClientCapabilities() método de PublicKeyCredential

O getClientCapabilities() método permite determinar que funcionalidades WebAuthn são suportadas pelo cliente do utilizador. Este método devolve uma lista de capacidades suportadas, permitindo-lhe personalizar experiências de autenticação e fluxos de trabalho com base na funcionalidade específica do cliente.

Proposta de memória64 do WebAssembly

A proposta memory64 adiciona suporte para memórias lineares do WebAssembly com mais de 2^32 bits. Esta proposta não fornece novas instruções, mas expande as instruções existentes para permitir índices de 64 bits para memórias e tabelas.

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

Adiciona formatos de vértice adicionais que não estavam presentes na versão inicial do WebGPU, devido à falta de suporte ou a versões antigas do macOS que já não são suportadas por nenhum browser. Os formatos de vértice de 1 componente permitem que a aplicação solicite apenas os dados necessários, quando anteriormente, a aplicação tinha de pedir, pelo menos, mais 2x dados para tipos de dados de 8 bits e 16 bits. O unorm8x4-bgra formato torna um pouco mais conveniente carregar cores de vértice codificadas com BGRA, mantendo o mesmo sombreado.

Algoritmo X25519 da API de Criptografia Web

O algoritmo X25519 fornece ferramentas para executar um contrato de chave com a função X25519 especificada no RFC7748. O X25519 identificador do algoritmo pode ser utilizado na SubtleCrypto interface para aceder às operações implementadas: generateKey, importKey, exportKey, deriveKeye deriveBits.

popover=sugestão

A API de Popover especifica o comportamento de dois valores do popover atributo: auto e manual. Esta funcionalidade descreve um terceiro valor, popover=hint. As sugestões, que são mais frequentemente associadas a comportamentos de tipo de descrição, têm comportamentos ligeiramente diferentes. A principal diferença é que um hint é subordinado a s ao autoabrir pilhas aninhadas de pop-overs. Assim, é possível abrir um pop-over não relacionado hint enquanto uma pilha existente de auto popovers permanece aberta. O exemplo canónico é que um <select> seletor está aberto (popover=auto) e é apresentada uma descrição acionada por pairar (popover=hint). Essa ação não fecha o <select> seletor.

Funcionalidades preteridas ou removidas

As seguintes funcionalidades da API Web foram preteridas (ainda suportadas, mas não recomendadas) ou removidas.

Preterir o limite de WebGPU maxInterStageShaderComponents

O maxInterStageShaderComponents limite está a ser removido devido a uma combinação de fatores:

  • Redundância com maxInterStageShaderVariables: este limite já tem um objetivo semelhante: controlar a quantidade de dados transmitidos entre fases de sombreado.

  • Pequenas discrepâncias: existem ligeiras diferenças na forma como os dois limites são calculados, mas estas diferenças são menores e podem ser efetivamente geridas dentro do maxInterStageShaderVariables limite.

  • Simplificação: remover maxInterStageShaderComponents simplifica a interface de sombreado e reduz a complexidade para os programadores. Em vez de gerir dois limites separados (que se aplicam simultaneamente, mas com diferenças subtis), pode focar-se em maxInterStageShaderVariables, que é mais adequadamente nomeado e abrangente.

Anteriormente, quando um recurso era pré-executado através <link rel=prefetch>de , a semântica de cache (especificamente, max-age e no-cache) foi ignorada durante a primeira utilização em 5 minutos, para evitar refetching. Agora, este caso especial foi removido e são utilizadas semânticas de cache HTTP normais.

Isto significa que, para beneficiar de <link rel=prefetch>, tem de incluir cabeçalhos de colocação em cache adequados (ou seja, Cache-Control ou Expires).

Isto também afeta o não padrão <link rel=prerender>.

Isto corrige um erro com as regras de especulação pré-correspondência, em que as respostas não 2xx foram colocadas em cache. Isto não requer a colocação em cache de cabeçalhos para a pré-correspondência das regras de especulação, porque esses cabeçalhos destinam-se a pré-correspondência de navegação e, portanto, têm necessidades de colocação em cache diferentes das normais da cache HTTP.

Avaliações de origem

Seguem-se novas APIs experimentais que pode experimentar no seu próprio site em direto durante um período de tempo limitado. Para saber mais sobre as avaliações de origem, veja Testar APIs experimentais e funcionalidades através de avaliações de origem.

Para obter a lista completa das avaliações de origem disponíveis, consulte Avaliações de Origem do Microsoft Edge.

Versões de avaliação apenas de origem do Microsoft Edge

API de Bens Digitais

Expira a 31 de março de 2025.

A API de Bens Digitais permite que uma aplicação Web obtenha informações sobre os seus produtos digitais e as compras do utilizador geridas por uma loja digital. O agente de utilizador abstrai as ligações à loja e a API de Pedido de Pagamento é utilizada para fazer compras.

Acesso à Aplicação LocalFolder Web

Expira a 31 de março de 2025.

Permite que o Aplicativos Web Progressivo (PWAs) instalado na Microsoft Store aceda a conteúdos de ficheiros armazenados anteriormente na pasta WinRT ApplicationData.LocalFolder por uma versão UWP anterior da aplicação.

Atributo de escrita manual HTML+IDL

Expira a 14 de junho de 2025.

O handwriting atributo fornece uma forma por documento e por elemento de controlar onde é permitida a entrada de escrita manual, como quando se utiliza um estilete.

API de Informações de Aquisição

Expira a 30 de junho de 2025.

Suporta a atribuição de aquisição 3P para Aplicativos Web Progressivas (PWAs) que foram adquiridas através de uma loja de aplicações ou diretamente a partir do browser.

Novas versões de avaliação de origem Chromium

Destino de Referência do ARIA de Raiz Cruzada

Expira a 10/06/2025.

A API de Destino de Referência permite que as referências baseadas em ID, nomeadamente de

DisableThirdPartyStoragePartitioning3

Expira a 16/09/2025.

Esta é uma avaliação de preterição para fins gerais que permite que um site de nível superior opte por apIs de armazenamento, serviços e APIs de comunicação não particionados, para contextos de terceiros incorporados no respetivo site. Isto dá aos sites mais tempo para testar e migrar para soluções que não necessitam de armazenamento particionado.

Opt-Out de Congelamento de Páginas de Fundo

Expira a 16/09/2025.

Esta versão de avaliação permite que uma página opte ativamente por não participar no congelamento da página de fundo. No Chromium 133, um separador com fundo durante mais de 5 minutos poderá ser congelado se for intensivo em termos de CPU e a Poupança de Energia estiver ativa, a menos que tenha optado ativamente por não participar. É fornecido um opt-out de avaliação de origem enquanto estão a ser desenvolvidas novas APIs Web, para optar ativamente por não participar em páginas para casos de utilização específicos.

Observação

Partes desta página são modificações baseadas no trabalho criado e partilhado pela Chromium.org e utilizado de acordo com os termos descritos na Licença Internacional Creative Commons Attribution 4.0.