Chrome 60'ta kullanımdan kaldırma ve kaldırma işlemleri

Joe Medley
Joe Medley

Chrome'un neredeyse her sürümünde önemli sayıda güncelleme ve performansında ve web'in yeteneklerinde iyileştirmeler yapıldı. Platform. Bu makalede, Chrome 60'taki desteği sonlandırma ve kaldırma işlemleri açıklanmaktadır. 8 Haziran itibarıyla beta sürümündedir. Bu listede herhangi bir zamanda değişiklik yapılabilir.

Güvenlik

crypto.subtle artık güvenli bir kaynak gerektiriyor

Web Crypto API Chrome 37'nin her zaman güvenli olmayan kaynaklar. Chrome'un uzun süredir yürürlükte olan güçlü özellikler için güvenli kaynakları tercih eden, crypto.subtle yalnızca güvenli kaynaklarda görünür değil.

Kaldırma Amacı | Chromium Hatası

Veri URL'lerine içerik tarafından başlatılan üst çerçeve gezinmelerini kaldır

Teknik bilgisi olmayan tarayıcı kullanıcılarına aşina olmadıkları için Adres sahteciliği ve kimlik avında data: şemasının giderek daha fazla kullanıldığını görüyoruz. anlamına gelir. Bunu önlemek için web sayfalarının data: URL'yi yüklemesini engelliyoruz dokunun. Bu, <a> etiketleri, window.open, window.location ve benzer mekanizmalar. data: şeması şunun için çalışmaya devam eder: kaynakları içerir.

Bu özelliğin desteği Chrome 58 sürümünde sonlandırılmıştır ve artık kaldırılmıştır.

Kaldırma Amacı | ChromeDurum İzleyici | Chromium Hatası

Bazı blob'lar için navigator.sendBeacon() öğesini geçici olarak devre dışı bırakın

navigator.sendBeacon() işlevi kullanılabilir Chrome 39 sürümünden itibaren. İlk olarak uygulandığında, işlevin data bağımsız değişkeni herhangi bir türü CORS açısından güvenli olmayan rastgele blob. Bunun önemli bir potansiyel ancak kimse bunu istismar etmeye çalışmadı. Çünkü YARDIMCI derhal makul bir düzeltme yapabiliyorsa sendBeacon(), türü CORS açısından güvenli OLMAYAN blob'larda artık çağrılabilir.

Bu değişiklik Chrome 60 için uygulanmış olsa da daha sonra birleştirilmiş geri dönelim.

Chromium Hatası

CSS

Gölge piercing'in alt öğe birleşimcinin alt kombinatör gibi davranmasını sağlayın

Gölge piercing alt birleştirici (>>>), CSS Kapsam Oluşturma Modülü Düzey 1 , belirli bir üst öğe öğesinin alt öğeleriyle eşleştirmek için oluşturulmuştur gölge ağacında göründüklerinde bile gerçekleşebilir. Bunda bazı sınırlamalar vardı. Spesifikasyona göre, yalnızca querySelector() gibi JavaScript çağrılarında kullanılabilmektedir ve çalışma şeklidir. Daha da önemlisi, tarayıcı tedarikçi firmaları bunu bir seviyenin ötesinde çalışacaktır.

Bunun sonucunda, alt birleşimci ilgili özelliklerden kaldırıldı Gölge DOM v1 dahil. Bunun yerine, bu seçiciyi kaldırarak web sayfalarını olduğu için, bunun yerine gölge delici alt uygulamaya takma adı olarak alt birleşatöre ekleyin. Asıl davranış şuydu: Chrome 45'te kullanımdan kaldırılmıştır. Yeni davranış Chrome 61'de uygulanmıştır.

Kaldırma Amacı | ChromeDurum İzleyici | Chromium Hatası

JavaScript

RTCPeerConnection.getStreamById() desteğini sonlandırın ve kaldırın

getStreamById(), yaklaşık iki yıl önce WebRTC spesifikasyonundan kaldırıldı. Diğer tarayıcıların çoğunda bu özelliği uygulamalarından zaten kaldırmıştır. Bu fonksiyon Bu aracın çok az kullanıldığı düşünülürse, bazı küçük Safari dışında Edge ve WebKit tabanlı tarayıcılarla birlikte çalışabilirlik riski getStreamById() adlı cihaz hâlâ desteklenmektedir. Alternatife ihtiyaç duyan geliştiriciler uygulamada, aşağıdaki Intent to Remove bölümünde örnek kod bulabilirsiniz.

Kaldırma işlemi Chrome 62 sürümündedir.

Kaldırma Amacı | ChromeDurum İzleyici | Chromium Hatası

SVGPathElement.getPathSegAtLength desteğini sonlandır

getPathSegAtLength(), iki yıldan uzun bir süre önce SVG spesifikasyonundan kaldırıldı. httpArşivi'nde bu yöntem için çok sayıda isabet bulunduğundan, desteği sonlandırılıyor. Kaldırma işleminin, Chrome 62'de yapılması bekleniyor. Ekim ayının başlarında veya ortalarında gönderebilirsiniz.

Kullanımdan Kaldırma Amacı | ChromeDurum İzleyici | Chromium Hatası

getContextAttributes() işlevini bir işaretin arkasına taşıma

getContextAttributes() işlevi şurada destekleniyor: CanvasRenderingContext2D 2013'ten beri hizmet veriyor. Ancak bu özellik herhangi bir standardın parçası değildi ve bir parçasıydı. Önceki projenin --enable-experimental-canvas-features komut satırı işareti, ancak yanlışlıkla gösterildi değil. Chrome 60 sürümünde bu hata düzeltildi. Bu Bu yöntem güvenlidir, çünkü yöntemi kullanan herhangi bir kişi olduğunu gösteren bir veri yoktur.

Chromium Hatası

Headers.prototype.getAll() öğesini kaldırın.

Headers.prototype.getAll() işlevi, son duruma göre kaldırılıyor Getirme spesifikasyonunun sürümü.

Kaldırma Amacı | ChromeDurum İzleyici | Chromium Hatası

indexDB.webkitGetDatabaseNames() öğesini kaldır

Bu özelliği, Indexed DB Chrome'da nispeten yeni olduğunda ve bu tamamen öfkeliydi. API eşzamansız olarak mevcut veritabanının listesini döndürür mantıklı geldi.

Maalesef tasarım kusurludur; bu nedenle sonuçlar kısa süre içinde geçerliliğini yitirebilir bu nedenle yalnızca günlük kaydı için kullanılabilir, ciddi uygulama mantığından yararlanabilirsiniz. İlgili içeriği oluşturmak için kullanılan github sorunu tarafından ve farklı bir yaklaşım gerektirir. Geliştiriciler arasında geçiş-zamana kadar ilgi görse de çapraz etkileşim eksikliği nedeniyle tarayıcı ilerleme durumu, kütüphane yazarları tarafından çözülmüştür.

Bu işleve ihtiyaç duyan geliştiricilerin kendi çözümlerini geliştirmeleri gerekir. Örneğin, Dexie.js gibi kitaplıklar global tablo kullanır Bu, veritabanlarının adlarını izlemek için kullanılan başka bir veritabanıdır.

Bu özelliğin desteği Chrome 58 sürümünde sonlandırılmıştır ve artık kaldırılmıştır.

Kaldırma Amacı | ChromeDurum İzleyici | Chromium Hatası

WEBKIT_KEYFRAMES_RULE ve WEBKIT_KEYFRAME_RULE özelliklerini kaldır

Standart olmayan WEBKIT_KEYFRAMES_RULE ve WEBKIT_KEYFRAME_RULE sabitleri şuradan kaldırılır: CSS Kuralı. Geliştiriciler bunun yerine KEYFRAMES_RULE ve KEYFRAME_RULE uygulamalarını kullanmalıdır.

Kaldırma Amacı | ChromeDurum İzleyici | Chromium Hatası

Kullanıcı Arayüzü

beforeunload iletişim kutuları için kullanıcı hareketini zorunlu kıl

Chrome 60 sürümünden itibaren, beforeunload iletişim kutusu yalnızca göstermeye çalışırken bir kullanıcı hareketi veya kullanıcı etkileşimi aldıysa (ya da yerleştirilmiş herhangi bir kareye böyle bir hareket yapıldığından) emin olun. Açıkça belirtmek gerekirse, beforeunload etkinliğinin dağıtımında değişiklik yap. Bu yalnızca iletişim kutusunun görüntülenip görüntülenmeyeceğini belirler.

beforeunload iletişim kutusu, uygulama modu iletişim kutusudur. Dolayısıyla, yapısı gereği kullanıcı-tahrip, yani kullanıcı gezinmesine, kullanıcının kimliğini sorgulayarak düşünülebilir. Bu özelliğin bazı avantajları vardır. Örneğin, bu genelde kullanarak kullanıcıları ne zaman verilerini kaybedecekleri konusunda uyarmak için bu fırsattan yararlanabilirsiniz.

Bir sayfanın beforeunload iletişim kutusu için metin sağlama özelliği bir süre önce kaldırıldı, beforeunload iletişim kutusu kötüye kullanım vektörü olarak kalmaya devam ediyor. İçinde Özellikle beforeunload iletişim kutuları, dolandırıcılık amaçlı web sitelerinin bileşenidir. otomatik oynatılan sesler ve tehdit içeren metinler, Chromium'un "bu sayfadan ayrılmak istediğinizden emin misiniz?" sorusunu içeren rahatsız edici hale gelir.

Tam bir çözüm sunmak ve beforeunload öğesinin yalnızca iyi bir şekilde kullanılmasını sağlamak istiyoruz iletişim kutusu. Diyaloğun doğru kullanımları, kullanıcının gerçekten emin olun. Kullanıcı sayfayla hiç etkileşimde bulunmadıysa, bu durumda verileri kaybetme riskiyle karşı karşıya kaldığımız için, iletişim kutusu devre dışı bırakılır.