Makale Rehberi
Web sitenizin iyi olduğunu ve JS kodlarının da eskisi kadar stabil olduğunu düşünüyordunuz, ancak mobil tarayıcı sürümünü değiştirdiğiniz anda sayfa "greve mi girdi"?
En saçma şey ise: Bilgisayar normal çalışıyor,AndroidAma telefon sizi tamamen görmezden geliyor.
Bu şaka değil, sessizce gerçekleşen bir tarayıcı sorunu.
Sorunun kökü: Yanlış yazmış olmanız değil, zamanın sizi terk etmiş olması

Aslında çoğu geliştirici bu olguyu gördüğünde ilk tepkisi şu oluyor: JS sözdiziminde bir hata mı var? DOM yüklenemedi mi? Yoksa izinler engellendi mi?
Sonuç? Hiçbiri. Asıl suçlunun o kadim yazı olduğu ortaya çıktı:
<script language="javascript">
Bu kod satırı 20 yıl önce popülerdisınırsız, tüm eğitimlerde görülebilecek bir şey.
Ama içinde Chromium sürüm 119Bundan sonra Google bu "antika dilbilgisine" elveda dedi: gördüğünüz sürece language Tarayıcı, nitelikleri seçerek görmezden gelir ve bunları açıklama zahmetine bile girmez.
Uyumluluk nedenlerinden ötürü, masaüstündeki Chrome hâlâ "geçici olarak hallediyor"; ancak mobil Android'deki Chrome "öncü" konumunda ve bu temizleme stratejisini hemen devreye soktu.
Öyle de oldu:Bilgisayar iyi çalışıyor, ancak cep telefonu çalışmıyorSorun.
Peki Android neden ilk harekete geçti?
Bazıları şunu sorabilir: Android Chrome neden ilk olarak piyasaya sürüldü?
Çok basit, çünkü mobil terminalin yükseltme hızı daha hızlı ve Google, bilgileri kırmızı zarflar gönderir gibi hızlı bir şekilde iletiyor.
在 2023 10 年 月 日 31, Chrome 119 Android sürümü Google Play'de tamamen yayınlandı.
Masaüstü sürümü de Chromium çekirdeğini kullanıyor olsa da, çok sayıda şirket içi sistemin aniden havaya uçmasını önlemek için "elinizi çabuk tutmanız" gerekir.
Yani, eğer hala " ifadesini kullanıyorsanızlanguage=javascript", Android telefonlarda bu, tarayıcının doğrudan görmezden geldiği şeffaf bir kod yazmaya eşdeğerdir.
Çözüm: Üç saniyede halledin
Neyse ki, bu sorunun çözümü inanılmaz derecede basit. Tek yapmanız gereken şu satırı değiştirmek:
<script>
Ya da biraz daha resmi bir şekilde:
<script type="text/javascript">
Bunu değiştirmek sadece birkaç saniye sürer ve Android Chrome bunu hemen çalıştırır.
Unutmayın, değişiklikten sonraÖnbelleği yenilemeyi zorlaAksi takdirde, tarayıcı eski dosyayı okumaya devam edebilir. Yöntem de basittir:
- Bilgisayar: Ctrl + F5
- Telefon: Ayarlar → Gizlilik → Önbelleği Temizle
Yenilendiğinde kod saniyeler içinde canlandırılır ve sayfa tekrar çalışmaya başlar.
Bu aslında bir "tasfiye"
Son tahlilde, bu seferki sorun JS'nin kendisi değil,Ön uç eski kod çağı.
Tarayıcı üreticilerinin yapması gereken şey çok açık: Güncelliğini yitirmiş söz dizimini kademeli olarak temizlemek ve geliştiricileri güncelleme yapmaya zorlamak.
Tıpkı bir otoyol gibi: Daha önce üç tekerlekli bisikletler ve traktörlerin yan yana geçmesine izin veriliyordu, ancak şimdi güvenlik nedeniyle bunların çıkarılması gerekiyor. language="javascript" O traktör çoktan hız şeridinden çıkmalıydı.
Geliştiriciler nelere dikkat etmeli?
Bu olay bize çok gerçekçi bir hatırlatma niteliğindedir:
Kodlama standartları gerçekten önemlidir "Çalışıyor" diye düşündüğünüz kod, belirli bir sürümde çalışmayı durdurabilir.
Test ortamının bu hıza ayak uydurması gerekiyor Bilgisayarınızda Chrome'da tıklayıp yayınlamakla yetinmeyin. Mobil cihazlarda ve farklı tarayıcı sürümlerinde de kontrol etmeniz gerekiyor.
Tarayıcı güncelleme günlüklerini takip edin Chromium her yükseltildiğinde, çok sayıda "Kullanım Dışı Bırakma ve Kaldırma" işlemi gerçekleşir. Bunlar dekorasyon değil, işinizi gerçekten mahvedebilir.
Sonuç: Bir satır kodun ardında teknolojik evrim vardır
Birçok kişi Google'ın "etik dışı" olduğundan şikayet ediyor, ancak daha yüksek bir bakış açısından bakıldığında bu aslında tüm Web ekosistemini ileriye taşıyan kaçınılmaz bir süreç.
Eski nitelikleri ortadan kaldırmak ve geliştiricileri standartlara uymaya zorlamak, teknolojik medeniyetin yinelenmesidir.
Eğer tüm eski söz dizimleriyle uyumlu olmaya devam edersek, ön uç er ya da geç harap bir karmaşaya dönüşecektir.
Dolayısıyla bu küçük çukuru tamir ettiğimizde aslında bir "teknolojik medeniyetin temizlik hareketine" katılıyoruz.
Önümüzdeki birkaç yıl içinde, daha fazla benzer tuzaklar olacak ve tek panzehirZamanın gerisinde kalmayın ve standartları benimseyin.
Nihai özet
- Bilgisayarlar bunu çalıştırabilir, ancak Android çalıştıramaz, çünkü
<script language="javascript">Kullanım dışı bırakıldı. - itibaren Chromium 119 Android Chrome atlamada öncü konumda
languageBağlanmak<script>parça. - Çözüm: kullanın
<script>或<script type="text/javascript">. - Değişiklikten sonra önbelleği yenileyin, sorun düzelecektir.
- Geliştiricilerin tarayıcı güncellemelerini sürekli takip etmeleri ve standart bir şekilde kod yazma alışkanlığı edinmeleri gerekiyor.
Öyleyse, bir dahaki sefere bilgisayarınız düzgün çalışırken telefonunuz çalışmadığı garip bir hatayla karşılaştığınızda şunu düşünebilirsiniz: Kodunuzda "geçen yüzyıldan kalma bir kalıntı" mı gizli?
Umut Chen Weiliang Blogu ( https://www.chenweiliang.com/ ) "JS kodu Android Chrome'da neden başarısız oluyor? Çalışmama nedeni ortaya çıktı ve tek tıkla çözüm! " başlıklı yazıyı paylaştı, bu yazı işinize yarayabilir.
Bu makalenin bağlantısını paylaşmaya hoş geldiniz:https://www.chenweiliang.com/cwl-33236.html
