Şunları bilmeniz gerekir:
- Yüklü PWA'lar dosya işleyici olarak kaydedilebilir. Bu sayede kullanıcılar dosyaları doğrudan diskten açabilir.
inert
özelliği, DOM'un bölümlerini hareketsiz olarak işaretlemenize olanak tanır.- Navigation API, tek sayfalı uygulamaların gezinme ve URL'deki güncellemeleri yönetmesini kolaylaştırır.
- Bunun gibi çok daha fazla özellik var.
Adım Pete LePage. Chrome 102'deki geliştiricilere yönelik yenilikleri inceleyelim.
File Handling API
File Handling API, yüklü PWA'ların işletim sistemine dosya işleyici olarak kaydolmasına olanak tanır. Kullanıcılar, kayıt olduktan sonra bir dosyayı tıklayarak yüklü PWA ile açabilir. Bu, dosyalarla etkileşime geçen PWAs (ör. resim düzenleyiciler, IDE'ler, metin düzenleyiciler vb.) için mükemmeldir.
PWA'nıza dosya işleme işlevi eklemek için web uygulaması manifest'inizi güncellemeniz ve PWA'nızın işleyebileceği dosya türleriyle ilgili ayrıntıları içeren bir file_handlers
dizisi eklemeniz gerekir. Açılacak URL'yi, mime türlerini, dosya türü için bir simgeyi ve başlatma türünü belirtmeniz gerekir. Başlatma türü, birden fazla dosyanın tek bir istemcide mi yoksa birden fazla istemcide mi açılacağını tanımlar.
"file_handlers": [
{
"action": "/open-csv",
"accept": {"text/csv": [".csv"]},
"icons": [
{
"src": "csv-icon.png",
"sizes": "256x256",
"type": "image/png"
}
],
"launch_type": "single-client"
}
]
Ardından, PWA başlatılırken bu dosyalara erişmek için launchQueue
nesnesi için bir tüketici belirtmeniz gerekir. Lansmanlar, tüketici tarafından işlenene kadar sıraya alınır.
// 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);
}
});
Tüm ayrıntılar için Yüklü web uygulamalarının dosya işleyicisi olmasına izin verme başlıklı makaleyi inceleyin.
inert
mülkü
inert
mülkü, tarayıcıya bir öğeyle ilgili kullanıcı girişi etkinliklerini (odak etkinlikleri ve yardımcı teknolojilerden gelen etkinlikler dahil) yoksaymasını söyleyen global bir HTML özelliğidir.
Bu, kullanıcı arayüzleri oluştururken yararlı olabilir. Örneğin, modal iletişim kutusunda, görünür olduğunda odağı modal içinde "hapsetmek" istersiniz. Alternatif olarak, kullanıcı tarafından her zaman görülemeyen bir çekmece için inert
eklemek, çekmece ekranda değilken klavye kullanıcısının yanlışlıkla çekmeceyle etkileşime geçmesini engeller.
<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>
Burada inert
, ikinci <div>
öğesinde tanımlanmıştır. Bu nedenle, <button>
ve <label>
dahil olmak üzere içindeki tüm içerikler odağa alınamaz veya tıklanamaz.
inert
, Chrome 102'de desteklenir ve hem Firefox hem de Safari'ye eklenecektir.
Daha fazla bilgi için Introducing inert (İnert özelliğini kullanıma sunuyoruz) başlıklı makaleyi inceleyin.
Navigation API
Birçok web uygulaması, sayfa gezinmesi olmadan URL'yi güncelleme özelliğine ihtiyaç duyar. Şu anda History API'yi kullanıyoruz ancak bu API hantal ve her zaman beklendiği gibi çalışmıyor. Navigation API, History API'nin eksikliklerini gidermeye çalışmak yerine bu alanı tamamen yeni baştan ele alıyor.
Navigation API'yi kullanmak için genel navigation
nesnesine bir navigate
dinleyici ekleyin.
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;
}
});
Bu etkinlik temel olarak merkezidir ve kullanıcının bir bağlantıyı tıklama, form gönderme veya geri ve ileri gitme gibi bir işlem gerçekleştirmesi ya da gezinme işlemi programlı olarak tetiklendiğinde bile tüm gezinme türleri için tetiklenir. Çoğu durumda, kodunuzun tarayıcıda bu işlem için varsayılan davranışı geçersiz kılmasına olanak tanır.
Ayrıntılı bilgi ve denemeniz için Modern istemci tarafı yönlendirme: Navigation API başlıklı makaleyi inceleyin.
Diğer özellikler
Elbette daha birçok özellik var.
- Yeni Sanitizer API, rastgele dizelerin bir sayfaya güvenli bir şekilde eklenmesi için sağlam bir işlemci oluşturmayı amaçlamaktadır.
hidden=until-found
özelliği, tarayıcının gizli bölgelerde metin aramasını ve eşleşme bulunursa ilgili bölümü göstermesini sağlar.
Daha fazla bilgi
Bu, önemli noktalardan yalnızca bazılarını kapsar. Chrome 102'deki diğer değişiklikler için aşağıdaki bağlantılara göz atın.
- Chrome Geliştirici Araçları'nda yenilikler (102)
- Chrome 102'de desteği sonlandırılan ve kaldırılan özellikler
- Chrome 102 için ChromeStatus.com güncellemeleri
- Chromium kaynak deposu değişiklik listesi
- Chrome sürüm takvimi
Abone ol
Gelişmelerden haberdar olmak için Chrome Developers YouTube kanalına abone olun. Yeni bir video yayınladığımızda e-posta bildirimi alırsınız.
Adım Pete LePage. Chrome 103 sürümü kullanıma sunulduğunda Chrome'daki yenilikleri size buradan bildireceğim.