Chrome 77 sekarang sudah diluncurkan!
- Ada cara yang lebih baik untuk melacak performa situs Anda dengan Largest Contentful Paint.
- Formulir mendapatkan beberapa kemampuan baru.
- Pemuatan lambat native telah hadir.
- Chrome DevSummit 2019 akan berlangsung pada 11-12 November 2019.
- Dan banyak lainnya.
Saya Pete LePage, mari selami dan lihat apa yang baru untuk developer di Chrome 77!
Largest Contentful Paint (LCP)
Memahami dan mengukur performa situs Anda di dunia nyata mungkin sulit.
Metrik seperti load
, atau DOMContentLoaded
, tidak memberi tahu Anda apa yang dilihat pengguna
di layar. First Paint, dan First Contentful Paint, hanya merekam awal pengalaman. First Meaningful Paint lebih baik, tetapi
kompleks, dan terkadang salah.
Largest Contentful Paint API, yang tersedia mulai Chrome 77, melaporkan waktu render elemen konten terbesar yang terlihat di area pandang dan memungkinkan pengukuran saat konten utama halaman dimuat.
Untuk mengukur Largest Contentful Paint, Anda harus menggunakan Performance
Observer, dan mencari peristiwa largest-contentful-paint
.
let lcp;
const po = new PerformanceObserver((eList) => {
const e = eList.getEntries();
const last = e[e.length - 1];
lcp = last.renderTime || last.loadTime;
});
const poOpts = {
type: 'largest-contentful-paint',
buffered: true
}
po.observe(poOpts);
Karena halaman sering dimuat secara bertahap, elemen terbesar
di halaman mungkin akan berubah, jadi Anda hanya boleh melaporkan peristiwa
largest-contentful-paint
terakhir ke layanan analisis.
addEventListener('visibilitychange', function fn() {
const visState = document.visibilityState;
if (lcp && visState === 'hidden') {
sendToAnalytics({'lcp': lcp});
removeEventListener('visibilitychange', fn, true);
}
}, true);
Phil memiliki postingan bagus tentang Largest Contentful Paint di web.dev.
Kemampuan formulir baru
Banyak developer membuat kontrol formulir kustom, baik untuk menyesuaikan tampilan dan
nuansa elemen yang ada, maupun untuk membuat kontrol baru yang tidak disertakan dalam
browser. Biasanya, hal ini melibatkan penggunaan JavaScript dan elemen <input>
tersembunyi, tetapi ini bukan solusi yang sempurna.
Dua fitur web baru, yang ditambahkan di Chrome 77, memudahkan pembuatan kontrol formulir kustom, dan menghapus banyak batasan yang ada.
Peristiwa formdata
Peristiwa formdata
adalah API tingkat rendah yang memungkinkan kode JavaScript apa pun
berpartisipasi dalam pengiriman formulir. Untuk menggunakannya, tambahkan pemroses peristiwa formdata
ke formulir yang ingin Anda gunakan untuk berinteraksi.
const form = document.querySelector('form');
form.addEventListener('formdata', ({formData}) => {
formData.append('my-input', myInputValue);
});
Saat pengguna mengklik tombol kirim, formulir akan mengaktifkan peristiwa formdata
, yang mencakup objek FormData
yang menyimpan semua data yang dikirim.
Kemudian, di pengendali peristiwa formdata
, Anda dapat memperbarui atau mengubah
formdata
sebelum dikirim.
Elemen kustom yang terkait formulir
Elemen kustom yang terkait dengan formulir membantu menjembatani kesenjangan antara elemen kustom
dan kontrol native. Menambahkan properti formAssociated
statis akan memberi tahu browser untuk memperlakukan elemen kustom seperti semua elemen formulir lainnya. Anda juga harus menambahkan
properti umum yang ditemukan di elemen input, seperti name
, value
, dan validity
untuk memastikan konsistensi dengan kontrol native.
class MyCounter extends HTMLElement {
static formAssociated = true;
constructor() {
super();
this._internals = this.attachInternals();
this._value = 0;
}
...
}
Lihat Kontrol formulir yang lebih canggih di web.dev untuk mengetahui semua detailnya.
Pemuatan lambat native
Saya tidak yakin mengapa saya melewatkan pemuatan lambat native di video terakhir saya. Ini cukup
menarik, jadi saya akan menyertakannya sekarang. Pemuatan lambat adalah teknik yang memungkinkan
Anda menunda pemuatan resource non-penting, seperti <img>
di luar layar,
atau <iframe>
- hingga diperlukan, sehingga meningkatkan performa halaman Anda.
Mulai Chrome 76, browser akan menangani pemuatan lambat untuk Anda, tanpa perlu menulis kode pemuatan lambat kustom, atau menggunakan library JavaScript terpisah.
Untuk memberi tahu browser bahwa Anda ingin gambar, atau iframe dimuat lambat, gunakan
atribut loading="lazy"
. Gambar dan iframe yang "di atas lipatan"
akan dimuat secara normal. Dan yang ada di bawah, hanya diambil saat pengguna
men-scroll di dekatnya.
<img src="image.jpg" loading="lazy" width="400" height="250" alt="...">
Lihat Pemuatan lambat tingkat browser untuk web di web.dev untuk mengetahui detailnya.
Chrome Dev Summit 2019
Chrome Dev Summit akan diselenggarakan pada 11 dan 12 November.
Ini adalah peluang bagus untuk mempelajari alat dan update terbaru yang akan datang ke platform web, serta mendengar langsung dari tim engineer Chrome.
Acara ini akan di-streaming secara live di channel YouTube kami, atau jika Anda ingin menghadiri secara langsung, Anda dapat meminta undangan di situs Chrome Dev Summit 2019.
Dan banyak lagi!
Ini hanyalah beberapa perubahan di Chrome 77 untuk developer, tentu saja, masih banyak lagi.
Contact Picker API, yang tersedia sebagai uji coba origin, adalah pemilih on-demand baru yang memungkinkan pengguna memilih entri atau entri dari daftar kontak mereka dan membagikan detail terbatas dari kontak yang dipilih dengan situs.
Selain itu, ada unit pengukuran baru di
intl.NumberFormat
API.
Bacaan lebih lanjut
Bagian ini hanya membahas beberapa sorotan utama. Lihat link di bawah untuk mengetahui perubahan tambahan di Chrome 77.
- Yang baru di Chrome DevTools (77)
- Penghentian & penghapusan Chrome 77
- Update ChromeStatus.com untuk Chrome 77
- Yang baru di JavaScript di Chrome 77
- Daftar perubahan repositori sumber Chromium
Langganan
Ingin terus mendapatkan info terbaru tentang video kami, subscribe ke channel YouTube Chrome Developers, dan Anda akan mendapatkan notifikasi email setiap kali kami meluncurkan video baru.
Saya Pete LePage, dan segera setelah Chrome 78 dirilis, saya akan langsung memberi tahu Anda -- apa yang baru di Chrome.