Berikut hal yang perlu Anda ketahui:
- PWA yang diinstal dapat terdaftar sebagai pengendali file, sehingga memudahkan pengguna untuk membuka file langsung dari disk.
- Atribut
inert
memungkinkan Anda menandai bagian DOM sebagai inert. - Navigation API memudahkan aplikasi web satu halaman menangani navigasi dan pembaruan ke URL
- Dan masih banyak fitur lainnya.
Saya Pete LePage. Mari kita pelajari lebih dalam dan lihat yang baru untuk developer di Chrome 102.
File Handling API
File Handling API memungkinkan PWA yang diinstal mendaftar ke OS sebagai pengendali file. Setelah terdaftar, pengguna dapat mengklik file untuk membukanya dengan PWA yang diinstal. Hal ini sangat cocok untuk PWA yang berinteraksi dengan file, misalnya, editor gambar, IDE, editor teks, dan sebagainya.
Untuk menambahkan fungsi penanganan file ke PWA, Anda harus memperbarui
manifes aplikasi web, menambahkan array file_handlers
dengan detail tentang jenis
file yang dapat ditangani PWA Anda. Anda harus menentukan URL yang akan dibuka, jenis mime, ikon untuk jenis file, dan jenis peluncuran. Jenis peluncuran
menentukan apakah beberapa file harus dibuka pada satu klien, atau di
beberapa klien.
"file_handlers": [
{
"action": "/open-csv",
"accept": {"text/csv": [".csv"]},
"icons": [
{
"src": "csv-icon.png",
"sizes": "256x256",
"type": "image/png"
}
],
"launch_type": "single-client"
}
]
Kemudian, untuk mengakses file tersebut saat PWA diluncurkan, Anda perlu menentukan konsumen untuk objek launchQueue
. Peluncuran diantrekan hingga
ditangani oleh konsumen.
// Access from Window.launchQueue.
launchQueue.setConsumer((launchParams) => {
if (!launchParams.files.length) {
// Nothing to do when the queue is empty.
return;
}
for (const fileHandle of launchParams.files) {
// Handle the file.
openFile(fileHandle);
}
});
Lihat Mengizinkan aplikasi web yang diinstal menjadi pengendali file untuk mengetahui semua detailnya.
Properti inert
Properti inert
adalah atribut HTML global yang memberi tahu browser untuk
mengabaikan peristiwa input pengguna untuk elemen, termasuk peristiwa fokus, dan peristiwa
dari teknologi pendukung.
Hal ini dapat berguna saat mem-build UI. Misalnya, dengan dialog modal, Anda
ingin "memangkas" fokus di dalam modal saat terlihat. Atau, untuk panel samping
yang tidak selalu terlihat oleh pengguna, menambahkan inert
akan memastikan bahwa saat
panel samping berada di luar layar, pengguna keyboard tidak dapat berinteraksi dengan panel samping secara tidak sengaja.
<div>
<label for="button1">Button 1</label>
<button id="button1">I am not inert</button>
</div>
<div inert>
<label for="button2">Button 2</label>
<button id="button2">I am inert</button>
</div>
Di sini, inert
telah dideklarasikan pada elemen <div>
kedua, sehingga semua konten
yang ada di dalamnya, termasuk <button>
dan <label>
, tidak dapat menerima
fokus atau diklik.
inert
didukung di Chrome 102, dan akan hadir di Firefox dan Safari.
Lihat Memperkenalkan inert untuk mengetahui detail selengkapnya.
Navigation API
Banyak aplikasi web bergantung pada kemampuan untuk memperbarui URL tanpa navigasi halaman. Saat ini, kita menggunakan History API, tetapi API ini canggung dan tidak selalu berfungsi seperti yang diharapkan. Daripada mencoba memperbaiki masalah pada History API, Navigation API sepenuhnya merombak ruang ini.
Untuk menggunakan Navigation API, tambahkan pemroses navigate
pada objek navigation
global.
navigation.addEventListener('navigate', (navigateEvent) => {
switch (navigateEvent.destination.url) {
case 'https://example.com/':
navigateEvent.transitionWhile(loadIndexPage());
break;
case 'https://example.com/cats':
navigateEvent.transitionWhile(loadCatsPage());
break;
}
});
Peristiwa ini pada dasarnya terpusat dan akan diaktifkan untuk semua jenis navigasi, baik pengguna melakukan tindakan, seperti mengklik link, mengirim formulir, atau kembali dan maju, meskipun navigasi dipicu secara terprogram. Pada umumnya, tindakan ini memungkinkan kode Anda mengganti perilaku default browser untuk tindakan tersebut.
Lihat Pemilihan rute sisi klien modern: Navigation API untuk mengetahui detail lengkap dan demo yang dapat Anda coba.
Dan banyak lagi!
Tentu saja masih banyak lagi.
- Sanitizer API baru bertujuan untuk membuat prosesor yang andal untuk string arbitrer agar dapat disisipkan dengan aman ke dalam halaman.
- Atribut
hidden=until-found
memungkinkan browser menelusuri teks di area tersembunyi, dan menampilkan bagian tersebut jika ditemukan kecocokan.
Bacaan lebih lanjut
Bagian ini hanya membahas beberapa sorotan utama. Periksa link di bawah untuk perubahan tambahan di Chrome 102.
- Yang baru di Chrome DevTools (102)
- Penghentian dan penghapusan Chrome 102
- Update ChromeStatus.com untuk Chrome 102
- Daftar perubahan repositori sumber Chromium
- Kalender rilis Chrome
Langganan
Untuk mendapatkan info terbaru, subscribe ke channel YouTube Developer Chrome, dan Anda akan mendapatkan notifikasi email setiap kali kami meluncurkan video baru.
Saya Pete LePage, dan segera setelah Chrome 103 dirilis, saya akan ada di sini untuk memberi tahu Anda apa yang baru di Chrome!