Penghentian dan penghapusan di Chrome 80

Joe Medley
Joe Medley

Larang XMLHTTPRequest() Sinkron di Penutupan Halaman

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

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

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

Rencana Penghapusan | Status Platform Chrome | Bug Chromium

Dukungan FTP tidak digunakan lagi

Implementasi FTP saat ini di Chrome tidak mendukung koneksi terenkripsi (FTPS), atau proxy. Penggunaan FTP di browser cukup rendah sehingga tidak lagi dapat diinvestasikan untuk meningkatkan klien FTP yang ada. Selain itu, klien FTP yang lebih mumpuni tersedia di semua platform yang terpengaruh.

Chrome 72 menghapus dukungan untuk mengambil subresource dokumen melalui FTP dan rendering resource FTP level atas. Saat ini, membuka URL FTP akan menampilkan daftar direktori atau download, bergantung pada jenis resource. Bug di Google Chrome 74 dan yang lebih baru mengakibatkan penurunan dukungan untuk mengakses URL FTP melalui proxy HTTP. Dukungan proxy untuk FTP dihapus sepenuhnya di Google Chrome 76.

Kemampuan implementasi FTP Google Chrome lainnya dibatasi untuk menampilkan listingan direktori atau mendownload resource melalui koneksi yang tidak terenkripsi.

Linimasa penghentian sementara waktu ditetapkan sebagai berikut:

Chrome 80 (stabil pada Februari 2020)

FTP dinonaktifkan secara default untuk klien non-perusahaan, tetapi dapat diaktifkan menggunakan tanda 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.

Rencana Penghapusan | Status Platform Chrome | Bug Chromium

Larang izinkan pop-up selama penghapusan muatan halaman

Halaman mungkin tidak lagi menggunakan window.open() untuk membuka halaman baru selama penghapusan muatan. Pemblokir pop-up Chrome sudah melarangnya, tetapi kini dilarang baik pemblokir pop-up diaktifkan atau tidak.

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

Intent untuk Menghapus | Pelacak Chromestatus | Bug Chromium

Serialisasi dan transfer ImageBitmap yang tidak asli dihapus dihapus

Error sekarang akan muncul saat skrip mencoba melakukan serialisasi atau mentransfer ImageBitmap yang tidak bersih dari asal. ImageBitmap yang tidak bersih dari awal adalah image yang berisi data dari gambar lintas origin yang tidak diverifikasi oleh logika CORS.

Rencana Penghapusan | Status Platform Chrome | Bug Chromium

Penanganan protokol sekarang memerlukan konteks yang aman

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

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

Rencana Penghapusan | Status Platform Chrome | Bug Chromium

Web Components v0 dihapus

Web Components v0 kini dihapus dari Chrome. Web Components v1 API adalah standar platform web yang telah diluncurkan di Chrome, Safari, Firefox, dan (segera) Edge. Untuk panduan tentang 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

Rencana Penghapusan | Status Platform Chrome | Bug Chromium

Impor HTML

Rencana Penghapusan | Status Platform Chrome | Bug Chromium

DOM Bayangan

Rencana Penghapusan | Status Platform Chrome | Bug Chromium

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 batasan tersebut.

Rencana Penghapusan | Status Platform Chrome | Bug Chromium

Kebijakan penghentian layanan

Agar platform tetap sehat, terkadang kami menghapus API dari Platform Web yang telah menjalankan kursusnya. Ada banyak alasan mengapa kami perlu menghapus API, seperti:

  • API tersebut digantikan oleh API yang lebih baru.
  • Ekstensi tersebut diperbarui untuk mencerminkan perubahan pada spesifikasi guna memberikan keselarasan dan konsistensi dengan browser lain.
  • Eksperimen ini merupakan eksperimen awal yang tidak pernah berhasil di browser lain, sehingga dapat menambah beban dukungan bagi developer web.

Beberapa perubahan ini akan berpengaruh pada sejumlah kecil situs. Untuk memitigasi masalah sebelumnya, kami mencoba memberikan pemberitahuan awal kepada developer sehingga mereka dapat melakukan perubahan yang diperlukan agar situs tetap berjalan.

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

  • Umumkan di milis blink-dev.
  • Setel peringatan dan beri skala waktu di Chrome DevTools Console saat penggunaan terdeteksi di halaman.
  • Tunggu, pantau, lalu hapus fitur 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 meringkas beberapa perubahan, pertimbangan, dan jalur migrasi dalam postingan ini.