.
Non consentire XMLHTTPRequest() sincrono durante la chiusura delle pagine
Ora Chrome non consente chiamate sincrone a XMLHTTPRequest()
durante la chiusura della pagina quando l'utente esce dalla pagina o la chiude.
Questo vale per beforeunload
, unload
, pagehide
e visibilitychange
.
Per assicurarti che i dati vengano inviati al server quando una pagina viene scaricata, ti consigliamo di utilizzare
sendBeacon()
o Fetch
keep-alive
. Per il momento, gli utenti aziendali possono utilizzare il flag di criterio AllowSyncXHRInPageDismissal
e gli sviluppatori possono utilizzare il flag di prova dell'origine allow-sync-xhr-in-page-dismissal
per consentire le richieste XHR sincrone durante lo svuotamento della pagina. Si tratta di una misura di disattivazione temporanea e prevediamo di rimuovere questo flag in Chrome 88.
Per informazioni dettagliate su questa opzione e sulle alternative, consulta Disattivazione di XMLHTTPRequest() sincrono durante la chiusura della pagina.
Intento di rimozione | Stato della piattaforma Chrome | Bug di Chromium
Supporto FTP deprecato
L'attuale implementazione di FTP in Chrome non supporta le connessioni criptate (FTPS) né i proxy. L'utilizzo di FTP nel browser è sufficientemente basso da non essere più conveniente investire per migliorare il client FTP esistente. Inoltre, su tutte le piattaforme interessate sono disponibili client FTP più capaci.
In Chrome 72 è stato rimosso il supporto per il recupero delle risorse secondarie dei documenti tramite FTP e per il rendering delle risorse FTP di primo livello. Al momento, l'accesso agli URL FTP comporta la visualizzazione di una voce di directory o di un download, a seconda del tipo di risorsa. A causa di un bug in Google Chrome 74 e versioni successive, il supporto per l'accesso agli URL FTP tramite proxy HTTP è stato interrotto. Il supporto del proxy per FTP è stato rimosso completamente in Google Chrome 76.
Le funzionalità rimanenti dell'implementazione di FTP di Google Chrome sono limitate alla visualizzazione di un elenco di directory o al download di una risorsa tramite connessioni non criptate.
Le tempistiche del ritiro sono impostate provvisoriamente come segue:
Chrome 80 (versione stabile a febbraio 2020)
L'FTP è disattivato per impostazione predefinita per i client non aziendali, ma può essere attivato utilizzando i flag della riga di comando --enable-ftp
o --enable-features=FtpProtocol
. In alternativa, può essere attivata utilizzando l'opzione #enable-ftp
su chrome://flags.
Chrome 81 (stabile a marzo 2020)
L'FTP è disattivato per impostazione predefinita per tutte le installazioni di Chrome, ma può essere attivato utilizzando i flag --enable-ftp
o --enable-features=FtpProtocol
della riga di comando.
Chrome 82 (stabile ad aprile 2020)
Il supporto FTP verrà rimosso completamente.
Intento di rimozione | Stato della piattaforma Chrome | Bug di Chromium
Non consentire i popup durante lo svuotamento della pagina
Le pagine potrebbero non utilizzare più window.open()
per aprire una nuova pagina durante lo svuotamento. Il blocco popup di Chrome lo vietava già, ma ora è vietato indipendentemente dall'attivazione o meno del blocco popup.
Le aziende possono utilizzare il flag della norma AllowPopupsDuringPageUnload
per consentire i popup durante lo svuotamento. Chrome prevede di rimuovere questo flag nella versione 82.
Intento di rimozione | Tracker di Chromestatus | Bug di Chromium
È stata rimossa la serializzazione e il trasferimento di ImageBitmap non privi di dati di origine
Ora verranno sollevati errori quando uno script tenta di serializzare o trasferire un ImageBitmap non privo di dati di origine. Un ImageBitmap non privo di dati dell'origine contiene dati di immagini cross-origin che non sono verificati dalla logica CORS.
Intento di rimozione | Stato della piattaforma Chrome | Bug di Chromium
La gestione del protocollo ora richiede un contesto sicuro
Ora i metodi registerProtocolHandler()
e unregisterProtocolHandler()
richiedono un contesto sicuro. Questi metodi sono in grado di riconfigurare gli stati dei client in modo da consentire la trasmissione di dati potenzialmente sensibili su una rete.
Il metodo registerProtocolHandler()
fornisce a una pagina web un meccanismo per registrarsi per gestire un protocollo dopo che un utente ha dato il consenso. Ad esempio, un'applicazione email basata su web potrebbe registrarsi per gestire lo schema mailto:
. Il metodo corrispondenteunregisterProtocolHandler()
consente a un sito di abbandonare la registrazione per la gestione dei protocolli.
Intento 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 uno standard della piattaforma web che è stato implementato in Chrome, Safari, Firefox e (a breve) Edge. Per indicazioni sull'upgrade, leggi l'articolo Aggiornamento di Web Components: più tempo per eseguire l'upgrade alle API v1. Le seguenti funzionalità sono state rimosse. Questo ritiro riguarda gli elementi elencati di seguito.
Elementi personalizzati
Intento di rimozione | Stato della piattaforma Chrome | Bug di Chromium
Importazioni HTML
Intento di rimozione | Stato della piattaforma Chrome | Bug di Chromium
DOM shadow
Intento di rimozione | Stato della piattaforma Chrome | Bug di Chromium
Rimuovi -webkit-appearance:button per elementi arbitrari
Le modifiche a -webkit-appearance:button
funzionano solo con i pulsanti <button>
e <input>
. Se button
è specificato per un elemento non supportato, l'elemento assume l'aspetto predefinito. Tutte le altre parole chiave -webkit-appearance
sono già soggette a questa limitazione.
Intento di rimozione | Stato della piattaforma Chrome | Bug di Chromium
Norme sul ritiro
Per mantenere la piattaforma in buono stato, a volte rimuoviamo dalla piattaforma web le API che hanno terminato il loro ciclo di vita. Esistono diversi motivi per cui potremmo rimuovere un'API, ad esempio:
- Sono sostituite da API più recenti.
- Vengono aggiornati in base alle modifiche alle specifiche per garantire l'allineamento e la coerenza con gli altri browser.
- Si tratta di esperimenti iniziali che non sono mai stati implementati in altri browser e che possono quindi aumentare il carico di lavoro per l'assistenza degli sviluppatori web.
Alcune di queste modifiche interesseranno un numero molto limitato di siti. Per mitigare i problemi in anticipo, cerchiamo di dare agli sviluppatori un preavviso in modo che possano apportare le modifiche necessarie per mantenere i loro siti in funzione.
Al momento, Chrome dispone di una procedura per il ritiro e la rimozione delle API, che prevede essenzialmente:
- Annuncio sulla mailing list blink-dev.
- Imposta avvisi e fornisci scale di tempo nella console di Chrome DevTools quando viene rilevato l'utilizzo nella pagina.
- Attendi, monitora e poi rimuovi la funzionalità man mano che l'utilizzo diminuisce.
Puoi trovare un elenco di tutte le funzionalità deprecate su chromestatus.com utilizzando il filtro Deprecated e le funzionalità rimosse applicando il filtro Rimosso. Cercheremo inoltre di riassumere alcune delle modifiche, dei ragionamenti e dei percorsi di migrazione in questi post.