Yakında web tarayıcılarının en popüleri olan Google Chrome hem de Firefox web tarayıcısı 100. sürümünü yayınlayacak. Şimdi, sadece harika bir sayı olmanın yanı sıra, bu yıl dönümü sürümleriyle birlikte gelen teknik sorunlar da var. Bu sorunlardan bazıları web sitelerinizin başarısız olmasına neden olabilir.
Evet, başarısız. İşte neden.
Tüm web tarayıcıları bir Kullanıcı Aracısı (UA) ile birlikte geliyor. Bu, sunucuların tarayıcıyı tanımlayabilmesi için tarayıcıların HTTP başlıklarında gönderdiği bir dizedir. JavaScript, onu JavaScript navigator.userAgent ile de kullanır . Web geliştiricileri, sunucu tarafı programlarıyla UA’yı her türlü şekilde kullanır. UA’nın formatı:
tarayıcıAdı/majorVersion.minorVersion
Bu yazılı olarak, tarayıcı UA’larının en son yayınlanan sürümlerinin tipik örnekleri şunlardır:
- Chrome: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, Gecko gibi) Chrome/94.0.4606.54 Safari/537.36
- Firefox: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:96.0) Gecko/201000101 Firefox/96.0
Peki, burada sorun nedir? Bu eski bir şey: Tarih biçimi yanlış yapılandırmaları. En ünlü örnek hala tam olarak ölmemiş Y2K problemidir . O zaman sorun, 90’ların sonlarındaki ve daha önceki programların çoğunun dört haneli yıl tarihleriyle başa çıkamamasıydı. Bu seferki sorunumuz, çok fazla web sitesi programının üç haneli UA’larla başa çıkamamasıdır. Evet, bu kadar basit.
Ancak, basit olsa da, önemsiz olduğu anlamına gelmez. Görüyorsunuz, 1 haneli UA’lardan (1-9) 10 haneli UA’lara geçtiğimizde bu sorunun bir ön izlemesini zaten yapmıştık. Örneğin, Opera 10 siteleri 2009’da düzgün bir şekilde oluşturamazdı ve bazı siteler Firefox 10 ile hiç oluşturmazdı çünkü komut dosyaları Firefox 10’u güncel olmayan Firefox 1.0 olarak okurdu. Chrome ve Firefox 100 geldikçe tüm bunları ve daha fazlasını bekleyebiliriz.
Google ve Mozilla, yaklaşan bu tarayıcı UA sorunlarının farkındadır . Her ikisi de baş ağrılarını bulmaya ve düzeltmeye çalışıyor.
Bu sorunlardan bazıları çabalarından kaçacaktır. Örneğin, belirli bir tarayıcıya hangi web sayfalarının veya hizmetlerin sunulması gerektiğini belirlemek için UA’ların kullanılmasının kötü bir fikir olduğu onlarca yıldır bilinmesine rağmen, bu, pek çok web geliştiricisinin bunları kötüye kullanmasını hiçbir zaman engellemedi. Web siteniz bunu yapıyorsa, sitenizin 100 sürümü web tarayıcılarına web sayfaları yerine bir hata mesajı gönderme olasılığı yüksektir.
Sitenizde böyle bir sorun olup olmadığını bugün, Chrome’u üç basamaklı bir UA göndermeye zorlayan bir Chrome özellik bayrağı kullanarak kontrol edebilirsiniz . Ardından, Chrome 100 Yetmedi mi? test sitesini ziyaret ederek yeni UA’nın düzgün şekilde sunulup sunulmadığını kontrol edebilirsiniz. Daha sonra bu tarayıcıyı kullanarak kendi sitelerinize sorun olup olmadığını kontrol edebilirsiniz. Firefox da benzer testler sunuyor .
Her iki tarayıcıda da, düzeltmeden önce UA nedeniyle bozulan bir şey bulursanız, Webcompat’a bir rapor gönderin . Ayrıca, normal UA’yı kullanırken sorunun devam edip etmediğini kontrol ederek başka tür bir hatayı ortaya çıkarmadığınızı kontrol ettiğinizden emin olun.
İşlerin Chrome veya Firefox mühendislik ekiplerinin beklediğinden daha kötü gitmesi durumunda, her ikisinin de hafifletme planları vardır.
Firefox’ta bir site müdahale mekanizması vardır . Bununla Mozilla webcompat ekibi bozuk web sitelerini düzeltebilir. Nelerin düzeltildiğini görmek için URL çubuğuna about:compat yazabilirsiniz. Ve elbette, bir site ana sürümün 100 olmasıyla başa çıkamadığı için bozulursa, kullanıcı bunun yerine sürüm 99’u göndererek sorunu düzeltebilir. Ancak, sıradan kullanıcılardan UA’larını manuel olarak değiştirmelerini istemek çok fazla. İşler tamamen karışırsa ve yaygın site hataları varsa, Mozilla Firefox’un ana sürümünü 99’da geçici olarak dondurmayı ve diğer yaklaşımları test etmeyi planlıyor.
Chrome ile yedekleme planı, ana sürümü 99’da dondurmak için bir bayrak kullanmak ve UA dizesinin alt sürüm bölümünde gerçek ana sürüm numarasını bildirmektir. Bu yedek kod, Chrome’un yukarı akış açık kaynaklı Chromium tarayıcısında zaten mevcut.
Bu durumda, Chrome sürümü UA dizesi şu <major_version> kalıbını kullanır.<minor_version>.<build_number>.<patch_number>. Yani, örneğin, önemli kısım 99.101.4988.0 gibi görünebilir. Google’ın Chrome geliştiricileri, işler kötü giderse bu yedekleme seçeneğine başvurup başvurmamaya karar verecek.
Bu sorunu bir sorun olmaktan çıkarmak istiyorsanız – insanların Y2K’nın o kadar büyük bir şey olmadığını düşünmesinin nedeni, önceden düzgün bir şekilde düzeltildiğinden emin olmak için gösterilen tüm çabalardı – hem Google hem de Mozilla memnuniyetle karşılayacaktır. yardımın. Ve elbette, kendi şirketiniz, 100 sürümü yayınlandığında web sitesinin dumana bulaşmamasını sağlamaktan memnun olacaktır.
Bunu, erken sürüm tarayıcınızı sürümü 100 olarak bildirecek ve karşılaştığınız sorunları bildirecek şekilde ayarlayarak yapabilirsiniz. Bunu nasıl yapacağınız aşağıda açıklanmıştır.
Ana sürümü 100 olarak bildirmek için Firefox Nightly’yi yapılandırın
- Firefox Nightly’nin Ayarlar menüsünü açın.
- “Firefox 100″ü arayın ve ardından “Firefox 100 Kullanıcı-Aracı Dizesi” seçeneğini işaretleyin.
Ana sürümü 100 olarak bildirmek için Chrome’u yapılandırın
- chrome://flags/#force-major-version-to-100’e gidin
- Seçeneği “Etkin” olarak ayarlayın.
Başlamadan önce, birkaç UA dize hatasının zaten bulunduğunu unutmayın .
Eski bir UA ayrıştırma kitaplığı kullanan bir web geliştiricisiyseniz, bunun 100’den büyük veya buna eşit UA sürümleriyle başa çıkabildiğinden emin olmak için test etmelisiniz. İlk testler, en yeni kitaplıkların iyi sonuç vereceğini gösteriyor. Ancak hepimizin bildiği gibi web eski kodlarla dolu. Bu nedenle, eski, uyumsuz bir ayrıştırma kitaplığı kullanıyor olmanız ve en son tarayıcılarda hıçkırarak kullanıcılarınızın ne olduğunu merak etmesine izin verene kadar bunu bilmemeniz çok olası.