Penghentian dan penghapusan di Chrome 80

Joe Medley
Joe Medley

Tidak Mengizinkan XMLHTTPRequest() Sinkron dalam Penutupan Halaman

Chrome kini tidak mengizinkan panggilan sinkron ke XMLHTTPRequest() selama penutupan halaman saat halaman ditutup atau keluar dari halaman oleh pengguna. Hal ini berlaku untuk beforeunload, unload, pagehide, dan visibilitychange.

Untuk memastikan data dikirim ke server saat halaman di-unload, sebaiknya gunakan sendBeacon() atau Fetch keep-alive. Untuk saat ini, pengguna versi bisnis dapat menggunakan flag kebijakan AllowSyncXHRInPageDismissal dan developer dapat menggunakan flag uji coba origin allow-sync-xhr-in-page-dismissal untuk mengizinkan permintaan XHR sinkron selama penghapusan muatan halaman. Ini adalah tindakan "ketidakikutsertaan" sementara, dan kami berharap dapat menghapus tanda ini di Chrome 88.

Untuk mengetahui detail tentang hal ini dan alternatifnya, lihat Melarang XMLHTTPRequest() sinkron selama penutupan halaman.

Intent to Remove | Chrome Platform Status | Chromium Bug

Dukungan FTP tidak digunakan lagi

Implementasi FTP saat ini di Chrome tidak memiliki dukungan untuk koneksi terenkripsi (FTPS) atau proxy. Penggunaan FTP di browser cukup rendah sehingga tidak lagi memungkinkan untuk berinvestasi dalam meningkatkan klien FTP yang ada. Selain itu, klien FTP yang lebih andal tersedia di semua platform yang terpengaruh.

Chrome 72 menghapus dukungan untuk mengambil sub-resource dokumen melalui FTP dan merender resource FTP tingkat teratas. Saat ini, membuka URL FTP akan menampilkan listingan direktori atau download, bergantung pada jenis resource. Bug di Google Chrome 74 dan yang lebih baru menyebabkan dukungan untuk mengakses URL FTP melalui proxy HTTP dihentikan. Dukungan proxy untuk FTP dihapus sepenuhnya di Google Chrome 76.

Kemampuan lain dari penerapan FTP Google Chrome dibatasi untuk menampilkan listingan direktori atau mendownload resource melalui koneksi yang tidak dienkripsi.

Linimasa penghentian penggunaan ditetapkan sementara sebagai berikut:

Chrome 80 (stabil pada Februari 2020)

FTP dinonaktifkan secara default untuk klien non-perusahaan, tetapi dapat diaktifkan menggunakan flag command line --enable-ftp atau --enable-features=FtpProtocol. Atau, fitur ini dapat diaktifkan menggunakan opsi #enable-ftp di chrome://flags.

Chrome 81 (stabil pada Maret 2020)

FTP dinonaktifkan secara default untuk semua penginstalan Chrome, tetapi dapat diaktifkan menggunakan tanda command line --enable-ftp atau --enable-features=FtpProtocol.

Chrome 82 (stabil pada April 2020)

Dukungan FTP akan dihapus sepenuhnya.

Intent to Remove | Chrome Platform Status | Chromium Bug

Tidak mengizinkan pop-up selama penghapusan muatan halaman

Halaman tidak dapat lagi menggunakan window.open() untuk membuka halaman baru selama penghapusan. Pemblokir pop-up Chrome sudah melarang hal ini, tetapi sekarang hal ini dilarang baik pemblokir pop-up diaktifkan maupun tidak.

Perusahaan dapat menggunakan tanda kebijakan AllowPopupsDuringPageUnload untuk mengizinkan pop-up selama penghapusan muatan. Chrome akan menghapus tanda ini di Chrome 82.

Intent to Remove | Chromestatus Tracker | Chromium Bug

Serialisasi dan transfer ImageBitmap non-origin-clean dihapus

Error kini akan ditampilkan saat skrip mencoba melakukan serialisasi atau mentransfer ImageBitmap yang tidak bersih asal. ImageBitmap non-origin-clean adalah ImageBitmap yang berisi data dari gambar lintas origin yang tidak diverifikasi oleh logika CORS.

Intent to Remove | Chrome Platform Status | Chromium Bug

Penanganan protokol kini memerlukan konteks yang aman

Metode registerProtocolHandler() dan unregisterProtocolHandler() kini memerlukan konteks yang aman. Metode ini mampu mengonfigurasi ulang status klien sehingga memungkinkan transmisi data yang berpotensi sensitif melalui jaringan.

Metode registerProtocolHandler() memberi halaman web mekanisme untuk mendaftarkan diri untuk menangani protokol setelah pengguna memberikan izin. Misalnya, aplikasi email berbasis web dapat mendaftar untuk menangani skema mailto:. Metode unregisterProtocolHandler() yang sesuai memungkinkan situs untuk membatalkan pendaftaran penanganan protokolnya.

Intent to Remove | Chrome Platform Status | Chromium Bug

Web Components v0 dihapus

Web Components v0 kini dihapus dari Chrome. Web Components v1 API adalah standar platform web yang telah dikirimkan di Chrome, Safari, Firefox, dan (segera) Edge. Untuk panduan upgrade, baca Update Web Components: lebih banyak waktu untuk mengupgrade ke API v1. Fitur berikut kini telah dihapus. Penghentian ini mencakup item yang tercantum di bawah.

Elemen Kustom

Intent to Remove | Chrome Platform Status | Chromium Bug

Impor HTML

Intent to Remove | Chrome Platform Status | Chromium Bug

DOM Bayangan

Intent to Remove | Chrome Platform Status | Chromium Bug

Menghapus -webkit-appearance:button untuk elemen arbitrer

Mengubah -webkit-appearance:button agar hanya berfungsi dengan tombol <button> dan <input>. Jika button ditentukan untuk elemen yang tidak didukung, elemen tersebut memiliki tampilan default. Semua kata kunci -webkit-appearance lainnya sudah memiliki pembatasan tersebut.

Intent to Remove | Chrome Platform Status | Chromium Bug

Kebijakan penghentian layanan

Agar platform tetap berfungsi dengan baik, terkadang kami menghapus API dari Platform Web yang telah berjalan. Ada banyak alasan mengapa kami menghapus API, seperti:

  • API tersebut telah diganti dengan API yang lebih baru.
  • Spesifikasi ini diperbarui untuk mencerminkan perubahan pada spesifikasi guna memberikan penyelarasan dan konsistensi dengan browser lain.
  • Ini adalah eksperimen awal yang tidak pernah berhasil di browser lain sehingga dapat meningkatkan beban dukungan bagi developer web.

Beberapa perubahan ini akan memengaruhi sejumlah kecil situs. Untuk mengurangi masalah lebih awal, kami mencoba memberi developer pemberitahuan lebih awal agar mereka dapat melakukan perubahan yang diperlukan untuk menjaga situs mereka tetap berjalan.

Chrome saat ini memiliki proses untuk penghentian dan penghapusan API, yang pada dasarnya:

  • Umumkan di milis blink-dev.
  • Tetapkan peringatan dan berikan skala waktu di Konsol Chrome DevTools saat penggunaan terdeteksi di halaman.
  • Tunggu, pantau, lalu hapus fitur tersebut saat penggunaan menurun.

Anda dapat menemukan daftar semua fitur yang tidak digunakan lagi di chromestatus.com menggunakan filter yang tidak digunakan lagi dan fitur yang dihapus dengan menerapkan filter yang dihapus. Kami juga akan mencoba merangkum beberapa perubahan, alasan, dan jalur migrasi dalam postingan ini.