Rimozioni e ritiri in Chrome 80

Joe Medley
Joe Medley

Non consentire XMLHTTPRequest() sincrono nella chiusura di pagine

Ora Chrome non consente le chiamate sincrone a XMLHTTPRequest() durante la pagina quando la pagina viene chiusa dall'utente o viene chiusa. Si applica a beforeunload, unload, pagehide e visibilitychange.

Per assicurarti che i dati vengano inviati al server quando una pagina viene caricata, ti consigliamo sendBeacon() o Fetch keep-alive. Per il momento, gli utenti aziendali possono utilizzare AllowSyncXHRInPageDismissal flag del criterio e gli sviluppatori possono utilizzare l'origine flag di prova allow-sync-xhr-in-page-dismissal per consentire richieste XHR sincrone durante l'unload della pagina. Si tratta di una disattivazione temporanea misurare e prevediamo di rimuovere questo flag in Chrome 88.

Per maggiori dettagli su questa funzionalità e sulle alternative, consulta la sezione Non consentire la funzione XMLHTTPRequest() sincrona durante la chiusura di una pagina.

Intenzione di rimozione | Stato della piattaforma Chrome | Bug di Chromium

Supporto dell'FTP deprecato

L'attuale implementazione dell'FTP in Chrome non supporta la crittografia (FTPS) o proxy. L'utilizzo dell'FTP nel browser è sufficientemente basso che non è più possibile investire per migliorare il client FTP esistente. Nella Inoltre, sono disponibili client FTP più avanzati su tutte le piattaforme interessate.

Chrome 72 ha rimosso il supporto per il recupero delle sottorisorse dei documenti tramite FTP e il rendering delle risorse FTP di primo livello. Stai visualizzando i risultati per gli URL FTP nella visualizzazione di un elenco di directory o di un download a seconda del tipo di risorsa. Un bug in Google Chrome 74 e versioni successive ha causato l'interruzione del supporto per l'accesso URL FTP su proxy HTTP. Il supporto proxy per l'FTP è stato rimosso completamente in Google Chrome 76.

Le restanti funzionalità dell'implementazione FTP di Google Chrome sono limitate visualizzare un elenco di directory o scaricare una risorsa e non crittografate.

Le tempistiche del ritiro sono stimate come segue:

Chrome 80 (stabile a febbraio 2020)

L'FTP è disattivato per impostazione predefinita per i client non aziendali, ma potrebbe essere attivato utilizzando --enable-ftp o --enable-features=FtpProtocol dalla riga di comando. In alternativa, può essere attivato utilizzando #enable-ftp su chrome://flags.

Chrome 81 (stabile a marzo 2020)

L'FTP è disattivato per impostazione predefinita per tutte le installazioni di Chrome, ma potrebbe essere attivato utilizzando --enable-ftp o --enable-features=FtpProtocol dalla riga di comando.

Chrome 82 (stabile ad aprile 2020)

Il supporto dell'FTP verrà rimosso completamente.

Intenzione di rimozione | Stato della piattaforma Chrome | Bug di Chromium

Non consentire i popup durante l'unload della pagina

Le pagine non possono più utilizzare window.open() per aprire una nuova pagina durante l'unload. La Il blocco popup di Chrome lo aveva già vietato, ma ora non è consentito se il blocco popup è attivo.

Le aziende possono utilizzare il flag del criterio AllowPopupsDuringPageUnload per consentire i popup durante l'unload. Chrome prevede di rimuovere questo flag nella versione 82 di Chrome.

Intenzione di rimozione | Tracker dello stato di Chrome | Bug di Chromium

Serializzazione e trasferimento di ImageBitmap non puliti dall'origine rimossi

Ora verranno generati errori quando uno script tenterà di serializzare o trasferire un ImageBitmap non pulita dall'origine. Un'immagine ImageBitmap non pulita dall'origine è quella che contiene dati di immagini multiorigine non verificati dalla logica CORS.

Intenzione di rimozione | Stato della piattaforma Chrome | Bug di Chromium

La gestione del protocollo ora richiede un contesto sicuro

I metodi registerProtocolHandler() e unregisterProtocolHandler() ora richiedono un contesto sicuro. Questi metodi sono in grado di riconfigurare gli stati del client in modo tale da consentire la trasmissione di dati potenzialmente sensibili in ogni rete.

Il metodo registerProtocolHandler() offre a una pagina web un meccanismo per registrare per gestire un protocollo dopo che l'utente ha dato il consenso. Ad esempio, un modello un'applicazione email potrebbe registrarsi per gestire lo schema mailto:. Il corrispondente Il metodo unregisterProtocolHandler() consente a un sito di abbandonare la propria e la registrazione per la gestione del protocollo.

Intenzione di rimozione | Stato della piattaforma Chrome | Bug di Chromium

Web Components v0 rimosso

Web Components v0 è stato rimosso da Chrome. Le API Web Components v1 sono un standard della piattaforma web disponibile in Chrome, Safari, Firefox e a breve perimetrali. Per indicazioni sull'upgrade, leggi l'articolo Aggiornamento dei componenti web: più tempo per l'upgrade alle API v1. La sono state rimosse le seguenti funzionalità. Questo ritiro riguarda gli articoli elencati di seguito.

Elementi personalizzati

Intenzione di rimozione | Stato della piattaforma Chrome | Bug di Chromium

Importazioni HTML

Intenzione di rimozione | Stato della piattaforma Chrome | Bug di Chromium

DOM shadow

Intenzione di rimozione | Stato della piattaforma Chrome | Bug di Chromium

Rimuovi -webkit-appearance:button per gli elementi arbitrari

Modifica -webkit-appearance:button affinché funzioni solo con <button> e <input> pulsanti. Se button viene specificato per un elemento non supportato, l'elemento ha l'aspetto predefinito. Tutte le altre parole chiave (-webkit-appearance) hanno già tale restrizione.

Intenzione di rimozione | Stato della piattaforma Chrome | Bug di Chromium

Norme sul ritiro

Per mantenere l'integrità della piattaforma, a volte rimuoviamo dalla piattaforma web le API che hanno seguito il loro corso. Ci possono essere molti motivi per cui dovresti rimuovere un dell'API, ad esempio:

  • Sono sostituite dalle API più recenti.
  • Vengono aggiornati per riflettere le modifiche alle specifiche al fine di offrire allineamento e coerenza con gli altri browser.
  • Si tratta dei primi esperimenti che non si sono mai portati a termine in altri browser e, di conseguenza, possono aumentare la mole di assistenza da parte degli sviluppatori web.

Alcune di queste modifiche avranno effetto su un numero molto ridotto di siti. Per ridurre in anticipo i problemi, cerchiamo di dare agli sviluppatori un preavviso in modo che possano apportare le modifiche necessarie per mantenere i loro siti operativi.

Al momento Chrome prevede una procedura per il ritiro e la rimozione delle API, che consiste essenzialmente nel seguente modo:

  • Pubblica un annuncio nella mailing list blink-dev.
  • Imposta avvisi e assegna scale temporali nella console Chrome DevTools quando viene rilevato un utilizzo nella pagina.
  • Attendi, monitora e rimuovi la funzionalità quando l'utilizzo cala.

Puoi trovare un elenco di tutte le funzionalità ritirate su chromestatus.com utilizzando il filtro deprecato e con le funzionalità rimosse applicando il filtro rimosso. Cercheremo anche di riassumere alcuni dei cambiamenti, il ragionamento e i percorsi di migrazione in questi post.