Berikut hal yang perlu Anda ketahui:
- Anda kini dapat menentukan area pemangkasan menggunakan region capture
saat menggunakan
getDisplayMedia()
untuk mengambil tab saat ini. - Sintaksis kueri media dapat ditulis menggunakan operator perbandingan matematika.
- Transisi Elemen Bersama memulai uji coba origin.
- Dan masih banyak fitur lainnya.
Saya Pete LePage. Mari kita pelajari dan lihat yang baru untuk developer di Chrome 104.
Menentukan area pemangkasan dengan pengambilan wilayah
getDisplayMedia()
memungkinkan pembuatan streaming video dari tab
saat ini. Namun, terkadang Anda tidak menginginkan seluruh tab, hanya sebagian
kecilnya. Sampai sekarang, satu-satunya cara untuk melakukannya adalah dengan memangkas setiap
frame video secara manual.
Dengan Region Capture, aplikasi web dapat menentukan area tertentu pada layar yang ingin dibagikan. Misalnya, Google Slide memungkinkan Anda tetap berada di tampilan pengeditan standar, dan membagikan slide saat ini.
Untuk menggunakannya, pilih elemen yang akan dibagikan, lalu buat CropTarget
baru berdasarkan
elemen tersebut. Selanjutnya, mulai berbagi layar dengan memanggil getDisplayMedia()
. Tindakan tersebut
akan meminta izin kepada pengguna untuk membagikan layarnya. Kemudian, panggil
track.cropTo()
dan teruskan cropTarget
yang dibuat sebelumnya.
const elem = document.querySelector("#main");
const cropTarget = await CropTarget.fromElement(elem);
const stream = await navigator.mediaDevices
.getDisplayMedia({preferCurrentTab: true});
const [track] = stream.getVideoTracks();
await track.cropTo(cropTarget);
Lihat Berbagi tab yang lebih baik dengan Region Capture untuk mengetahui detail selengkapnya.
Kueri media yang lebih mudah dengan sintaksis dan evaluasi level 4
Kueri Media sangat penting untuk desain responsif, yang memungkinkan Anda menentukan gaya tertentu untuk berbagai ukuran area pandang. Namun, kecuali jika Anda menggunakannya setiap hari, sintaksisnya mungkin sedikit membingungkan.
Chrome 104 menambahkan dukungan untuk Kueri Media - Level 4 - Sintaksis dan Evaluasi, sehingga Anda dapat menulis kueri media menggunakan operator perbandingan matematika biasa.
Jadi, alih-alih sesuatu seperti ini untuk menunjukkan area pandang antara 400 dan 600 piksel:
@media (min-width: 400px) and (max-width: 600px) {
/* Styles for viewports between 400px and 600px. */
}
Dapat ditulis seperti ini:
@media (400px <= width <= 600px) {
/* Styles for viewports between 400px and 600px. */
}
Selain membuat kueri media lebih ringkas, sintaksis baru dapat lebih
akurat. Kueri min-
dan max-
bersifat inklusif, misalnya:
min-width: 400px
menguji lebar 400 piksel atau lebih besar. Sintaksis baru
memungkinkan Anda lebih eksplisit dalam menyatakan maksud Anda.
@media (width < 400px) {
/* Styles for viewports less than 400px. */
}
@media (400px <= width <= 600px) {
/* Styles for viewports between 400px and 600px. */
}
@media (601px <= width <= 1000px) {
/* Styles for viewports between 601px and 1000px. */
}
Ini sudah didukung di Firefox, dan ada plugin PostCSS yang akan menulis ulang sintaksis baru ke sintaksis lama, sehingga memastikan kompatibilitas browser.
Lihat artikel Rachel Sintaksis baru untuk kueri media rentang di Chrome 104 untuk mengetahui detail selengkapnya.
Transisi Elemen Bersama memulai uji coba origin baru
Aplikasi khusus platform biasanya memiliki transisi yang lancar di antara berbagai tampilan, tampilannya bagus, membuat pengguna tetap dalam konteks, dan membantu pengalaman terasa lebih berperforma tinggi. Sedangkan di web, navigasi penuh dapat bersifat kasar, dan terkadang berarti layar kosong sesaat. Untuk aplikasi web satu halaman, hasilnya mungkin lebih baik, tetapi transisi masih sulit.
Transisi Elemen Bersama, yang memulai uji coba origin baru di Chrome 104, memungkinkan Anda memberikan transisi yang lancar, terlepas dari apakah transisi tersebut lintas dokumen (misalnya di aplikasi multi-halaman), atau intra-dokumen (misalnya di aplikasi satu halaman).
Berikut adalah contoh kasar cara kerja transisi untuk aplikasi satu halaman. Dalam
fungsi navigasi, dapatkan konten halaman baru, lalu periksa untuk melihat apakah transisi
didukung, jika tidak, perbarui halaman tanpa transisi. Jika ya,
buat transition()
dan panggil start()
di dalamnya, yang memberi tahu API saat
perubahan DOM selesai.
async function spaNavigate(path) {
// Get new page content.
const data = await fetchPage(path);
// Check if transitions are supported, if not, use classic method.
if (!document.createDocumentTransition) {
await updateDOM(data);
return;
}
// Create transition
const transition = document.createDocumentTransition();
// Start transition, let API know when DOM change is complete.
transition.start(() => updateDOM(data));
}
Di balik layar, Transisi Elemen Bersama menggunakan Animasi CSS, sehingga Anda dapat beralih dari efek memudar, ke geser masuk, atau apa pun yang Anda inginkan.
Saya baru saja menjelaskan dasar-dasarnya, jadi tonton video Jake tentang Membawa Transisi Halaman ke Web, atau baca penjelasannya.
Dan banyak lagi!
Tentu saja masih banyak lagi.
- Jika cookie ditetapkan dengan atribut
Expires
atauMax-Age
eksplisit, nilainya kini akan dibatasi hingga tidak lebih dari 400 hari. - Ada peningkatan pada API penempatan jendela multi-layar.
- Dan properti CSS
overflow-clip-margin
menentukan seberapa jauh konten elemen dapat digambar sebelum dipotong.
Bacaan lebih lanjut
Bagian ini hanya membahas beberapa sorotan utama. Lihat link di bawah untuk perubahan tambahan di Chrome 104.
- Yang baru di Chrome DevTools (104)
- Penghentian dan penghapusan Chrome 104
- Pembaruan ChromeStatus.com untuk Chrome 104
- Daftar perubahan repositori sumber Chromium
- Kalender rilis Chrome
Langganan
Untuk terus mendapatkan info terbaru, 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 105 dirilis, saya akan langsung memberi tahu Anda tentang yang baru di Chrome.