Aksi belirtilmediği sürece aşağıdaki değişiklikler Android, ChromeOS, Linux, macOS ve Windows'un en yeni Chrome beta kanalı sürümünde geçerli olacaktır. Verilen bağlantılardan veya ChromeStatus.com'daki listeden, burada listelenen özellikler hakkında daha fazla bilgi edinin. Chrome 123, 21 Şubat 2024'ten itibaren beta sürümündedir. Masaüstü için Google.com'dan veya Android'de Google Play Store'dan en yeni içerikleri indirebilirsiniz.
CSS
Bu sürümde beş yeni CSS özelliği eklendi.
CSS light-dark()
renk işlevi
CSS'deki light-dark()
işlevi, geliştiricilerin renk şemasını kullanıcının açık veya koyu mod tercihine daha kolay uyarlamasına olanak tanır.
Tek bir CSS özelliğinde iki farklı renk değeri belirtmek için light-dark()
öğesini kullanın. Tarayıcı (veya cihaz), öğenin hesaplanan color-scheme
değerine göre uygun rengi otomatik olarak seçer. Örneğin, aşağıdaki CSS ile:
- Kullanıcı açık tema seçtiyse
.target
öğesinin arka planı küf yeşili olur. - Kullanıcı koyu bir tema seçtiyse
.target
öğesinin arka planı yeşil olur.
html {
color-scheme: light dark;
}
.target {
background-color: light-dark(lime, green);
}
CSS pencere içinde pencere görüntüleme modu
picture-in-picture
değeri için CSS display-mode
medya özelliğine destek ekler. Bu, web geliştiricilerinin yalnızca web uygulaması pencere içinde pencere modunda gösterildiğinde (bir parça) geçerli olacak belirli CSS kuralları yazmasına olanak tanır.
Bu medya özelliği hakkında daha fazla bilgiyi pencere içinde pencere dokümanlarında bulabilirsiniz.
bloklar için align-content CSS özelliği
align-content
CSS özelliği artık blok kapsayıcılar ve tablo hücrelerinde desteklenmektedir. Daha önce, bu özellik yalnızca ızgara ve esnek öğelerde destekleniyordu. Örneğin display: block
, display: list-item
ve display: table-cell
artık align-content
kullanılarak hizalanabilir.
Engelleme ve tablo düzenlerinde align-content
desteği bölümünden daha fazla bilgi edinebilirsiniz.
field-sizing
CSS özelliği
Geliştiriciler field-sizing
özelliğini kullanarak form denetimlerinin varsayılan sabit boyutlarını devre dışı bırakabilir ve boyutların içeriklerine bağlı olmasını sağlayabilirler. Bu yöntem, otomatik olarak büyüyen metin alanları oluşturmanın bir yolunu sağlar.
CSS text-spacing-trim
özelliği
Bu özellik, JLREQ (Japonca Metin Düzeni Gereksinimleri) ve CLREQ (Çince Metin Düzeni Gereksinimleri) ile görsel olarak göze hitap eden bir yazı biçimi oluşturmak için Çince, Japonca ve Korece (CJK) noktalama karakterlerini uygular.
Birçok CJK noktalama karakteri glif-dahili boşluklar içerir. Örneğin, CJK tam noktası ve CJK kapanış parantezi, diğer ideografik karakterler olarak sabit bir ilerleme sağlamak için genellikle glif alanlarının sağ yarısında glif-iç boşluklara sahiptir. Ancak bu harfler art arda göründüklerinde dahili glif boşlukları aşırı artar. Bu özellik, bu tür fazla boşlukları ayarlar.
text-spacing-trim
özelliği şu dört değerden birini kabul eder:
normal
, trim-start
, space-all
ve space-first
.
CSS'deki dört yeni uluslararası özellikle tanışma bölümünde daha fazla bilgi edinebilirsiniz.
Web API'leri
Çapraz kaynak iframe'de WebAuthn kimlik bilgileri oluşturulmasına izin ver
Bu özellik, web geliştiricilerinin kaynaklar arası iframe'lerde WebAuthn kimlik bilgileri (geçiş anahtarları olarak bilinen "ortak anahtar" kimlik bilgileri) oluşturmasına olanak tanır. Bu yeni özellik için iki koşul gereklidir:
- iframe'in bir
publickey-credentials-create-feature
izin politikası var. - iframe'de geçici kullanıcı etkinleştirmesi var.
Bu sayede geliştiriciler, yerleşik senaryolarda (örneğin, Güvenilir Taraf'ın birleşik kimlik deneyimi sağladığı kimlik doğrulama akışından sonra) geçiş anahtarı oluşturabilir.
İlişkilendirme raporlama özellik paketi
Chrome 123, Attribution Reporting API'ye aşağıdakilerin odaklandığı tetikleyici verileri özelleştirmesi ve toplanabilir değer filtreleri ekler:
- Tetikleyici veri kardinalitesi ve değerleri için özelleştirmeyi destekleyerek etkinlik düzeyinde raporlama için ek API yapılandırılabilirliği.
- Toplanabilir değerlerdeki filtreleri destekleyerek özet raporlar için ek API yapılandırılabilirliği.
Uygulamalar Arası ve Web İlişkilendirme Ölçümü
Web'de gerçekleşen dönüşümlerin, tarayıcı dışında, diğer uygulamalarda gerçekleşen etkinliklerle ilişkilendirilmesini sağlamak için Attribution Reporting API'yi genişletir.
Buradaki teklif, ilişkilendirme için işletim sistemi düzeyinde destekten yararlanır. Özellikle, geliştiriciye mobil web'deki etkinliklerin Android'in Özel Korumalı Alan'ındaki etkinliklerle birleştirilmesine izin verme seçeneği sunar ancak diğer platformlar için de destek uygulanabilir.
Satır içi modül komut dosyalarında blocking=render
Bu, <script blocking="render">
ürünündeki yapay bir sınırlamayı kaldıran küçük bir değişikliktir.
Bu değişiklikten önce, bu src
bir veri URI'si olsa bile <script blocking="render"type="module">
için src
özelliğinin belirtilmesi gerekiyor.
Bu, gereksiz bir sınırlamadır. Diğer komut dosyalarını içe aktaran satır içi modül komut dosyalarının yine de oluşturma engellemesi mümkün olması gerekir.
Bunun nedeni, dokümanlar arası görünüm geçişlerinin, özelleştirme için genellikle oluşturma engelleme komut dosyalarına dayanmasıdır. Bu nedenle, oluşturmayı engelleyen komut dosyalarının yazılmasını kolaylaştırmak bu özelliği destekler.
Doküman pencere içinde pencere: focus()
API'nin, açıcıya odaklanmasına izin verin
Artık opener.focus()
özelliğini bir doküman pencere içinde pencere penceresinden kullanarak sistem düzeyindeki odağı, dokümanın pencere içinde pencere penceresine sahip olan sekmeye getirebilirsiniz.
Bu, geliştiricilerin gerektiğinde orijinal sekmeyi tekrar ön plana getirmesine olanak tanır. Örneğin, kullanıcının küçük pencere içinde pencere penceresine sığmayan bir kullanıcı arayüzü deneyimine erişmesi gerektiğinde.
Özellikleri içe aktarma with
söz dizimi
İçe aktarma özellikleri, içe aktarma bildirimlerine ek açıklama girilmesini sağlayan bir JavaScript özelliğidir (örneğin, import xxx from "mod" with { type: "json" }
). Chrome ilk olarak anahtar kelime olarak assert
kullanarak teklifin önceki bir sürümünü gönderdi (Chrome 91'de). Bu sürüm, daha sonra JSON ve CSS modülleri için HTML ile entegre edilirken yapılması gereken bazı değişiklikler nedeniyle with
özelliğini kullanacak şekilde güncellendi.
jitterBufferTarget
jitterBufferTarget
özelliği, uygulamaların RTCRtpReceiver
ses dalgalanması arabelleğinin tutulacağı medya için milisaniye cinsinden hedef süre belirtmesine olanak tanır. Bu da kullanıcı aracısı tarafından yapılan arabelleğe alma miktarını etkiler. Bu da yeniden iletimleri ve paket kaybı kurtarma işlemlerini etkiler. Hedef değerin değiştirilmesi, uygulamaların ağ gecikme dalgalanması nedeniyle ses veya video karelerinin bitmesi riskini kontrol edebilmesine olanak tanır.
Uzun Animasyon Karesi Zamanlaması
Long Animation Frames API, Long Tasks API'nin bir uzantısıdır. Bu yöntem, görevi sonraki oluşturma güncellemesiyle birlikte ölçer ve uzun çalışan komut dosyaları, oluşturma süresi, zorunlu düzen ve stilde harcanan süre gibi bilgileri ekler. Buna düzenli aşırı yükleme de denir.
Geliştiriciler, genellikle kötü INP'nin nedeni olan ana iş parçacığı tıkanıklığının nedenlerini bularak INP tarafından ölçülen "durgunluk" teşhisini bir teşhis olarak kullanabilir.
NavigationActivation
Gezinme Etkinleştirme arayüzü, navigation.activation
öğesini ekler. Bu bölüm, geçerli Dokümanın ne zaman etkinleştirildiği (örneğin, ilk oluşturulduğu veya geri-ileri önbellekten geri yüklendiği zamanı) depolar.
Bu, geliştiricilerin, kullanıcının nereye gittiğine bağlı olarak özelleştirilmiş sayfalar sunabileceği anlamına gelir. Örneğin, ana sayfadan gelmişlerse farklı bir animasyon çalıştırabilirsiniz.
sayfa gösterme etkinliği
pagereveal
etkinliği, Belge şu durumlarda ilk kez yüklenir, geri-ileri önbellekten geri yüklenir veya önceden işleme ile etkinleştirildikten sonraki ilk oluşturma fırsatında Belgenin pencere nesnesinde tetiklenir.
Sayfa yazarı tarafından önceki durumdan görüntüleme geçişi gibi sayfa girişi deneyimi oluşturmak için kullanılabilir.
Çok Kalemli Mürekkep için PointerEvent.deviceId
Gelişmiş kalem girişi özelliklerine sahip cihazlar giderek yaygınlaştıkça, web platformunun hem son kullanıcılar hem de geliştiriciler için zengin deneyimler sunmak amacıyla bu gelişmiş özellikleri tam olarak destekleyecek şekilde gelişmeye devam etmesi önemlidir. Bu tür gelişmelerden biri, bir cihazın dijitalleştiricisinin cihazla aynı anda etkileşimde bulunan birden fazla kalem cihazını tanıyabilmesidir. Bu özellik, PointerEvent
arayüzünün bir uzantısıdır ve yeni bir özellik olan deviceId
özelliğini içerir. Bu özellik, geliştiricinin sayfayla etkileşimde bulunan bağımsız kalemleri tanımlamak için güvenilir bir şekilde kullanabileceği, oturuma dayalı, belge izole edilmiş, benzersiz bir tanımlayıcıyı temsil eder.
Gezinme istekleri için özel ağ erişimi denetimleri: Yalnızca uyarı modu
A web sitesi, kullanıcının özel ağındaki başka bir B sitesine gitmeden önce bu özellik aşağıdakileri yapar:
- İsteğin güvenli bir bağlamdan başlatılıp başlatılmadığını kontrol eder.
- Bir ön kontrol isteği gönderir ve B'nin özel ağ erişimine izin veren bir başlıkla yanıt verip vermediğini kontrol eder.
Alt kaynaklar ve çalışanlar için zaten özellikler vardır ancak bu ekleme, özellikle gezinme istekleri için yapılır.
Bu kontroller, kullanıcının özel ağını korumak için yapılır. Bu özellik "yalnızca uyarı" modu olduğundan, kontrollerden herhangi biri başarısız olursa istekler başarısız olmaz. Bunun yerine, geliştiricilerin yürürlüğe girecek olan yaptırıma hazırlanmalarına yardımcı olmak için Geliştirici Araçları'nda bir uyarı gösterilecek.
Sec-CH-UA-Form-Factor müşteri ipucu
Bu ipucu, kullanıcı aracısının veya cihazın "form faktörünü" belirtir. Böylece, site, yanıtını uyarlayabilir.
Hizmet Çalışanı Statik Yönlendirme API'si
Bu API, geliştiricilerin yönlendirmeyi yapılandırmasına olanak tanır ve hizmet çalışanlarının yaptığı basit işleri boşaltmalarına olanak tanır. Koşul eşleşirse gezinme, Service Worker'lar başlatılmadan veya JavaScript yürütmeden gerçekleşir. Böylece, web sayfaları, Service Worker'ların müdahaleleri nedeniyle performans cezalarının önüne geçer. Daha fazla bilgi için bu API ile ilgili önceki blog yayınına bakın.
Paylaşılan depolama alanı güncellemesi
Bu güncelleme, iframe oluşturmak zorunda kalmadan kaynaklar arası iş akışlarının çalıştırılmasını destekler.
zstd İçerik Kodlaması
Zstandard veya zstd, RFC8878'de açıklanan bir veri sıkıştırma mekanizmasıdır. Zlib düzeyinde ve daha iyi sıkıştırma oranlarında gerçek zamanlı sıkıştırma senaryolarını hedefleyen, hızlı ve kayıpsız bir sıkıştırma algoritmasıdır. zstd
jetonu, IANA'ya kayıtlı bir Content-Encoding jetonu olarak eklendi.
İçerik Kodlaması olarak zstd
desteğinin eklenmesi, sayfaların daha hızlı yüklenmesine, daha az bant genişliği kullanılmasına ve sunucularımızda daha az zaman, CPU ve sıkıştırma gücü harcanmasına yardımcı olur. Bu da sunucu maliyetlerinde düşüşe yol açar.
Yeni kaynak denemeleri
Chrome 123'te aşağıdaki yeni kaynak denemelerine kaydolabilirsiniz.
WebAssembly JavaScript söz entegrasyonu
WebAssembly kullanılarak yazılan duyarlı uygulamaları desteklemek için WebAssembly programlarının askıya alınmasına ve devam ettirilmesine izin veren özelliklerin sağlanması gerekir.
Vaat entegrasyonu için birincil ilk kullanım alanı, kaynağı eşzamanlı API'lere dayanan WebAssembly programlarının Web platformunda giderek yaygınlaşan eşzamansız API'leri kullanmasına izin vermektir.
Vaat entegrasyon kaynak denemesine kaydolun.
Kaldırma işlemleri
Chrome 123'te aşağıdaki özellik kaldırılır.
İzin ve izin politikası için window-placement
takma adı window-management
Chrome 111'de, window-placement
izin ve izin politikası dizeleri için takma ad olarak window-management
eklendi.
Bu, window-placement
yönergesini kullanımdan kaldırarak dizeleri yeniden adlandırmaya yönelik daha kapsamlı çalışmanın bir parçasıydı. Window Management API zaman içinde geliştikçe terminoloji değişikliği, açıklayıcının kullanım süresini de iyileştirir.
window-placement
takma adı için desteğin sonlandırılmasıyla ilgili uyarılar Chrome 113'te başlamıştır ve bu uyarı kaldırılacaktır.