Məqalələr kataloqu
Siz veb saytın yaxşı olduğunu və JS kodunun köhnə it kimi sabit olduğunu düşünürdünüz, lakin mobil brauzer versiyasını dəyişən kimi səhifə "tətil etdi"?
Ən dəhşətlisi: kompüter normal işləyir,AndroidAncaq telefon sizi tamamilə görməməzlikdən gəlir.
Bu zarafat deyil, bu, sakitcə baş verən brauzer problemidir.
Problemin kökü: Səhv yazmağınız deyil, zamanın sizi tərk etməsidir

Əslində, əksər tərtibatçılar bu fenomeni görəndə ilk reaksiyaları belə olur: JS sintaksisində səhv varmı? DOM yüklənməyib? Yoxsa icazə bloklanıb?
Nəticə? Onların heç biri. Əsl günahkar o qədim yazı olub:
<script language="javascript">
Bu kod xətti 20 il əvvəl məşhur idiLimitsiz, bunu bütün dərsliklərdə görmək olar.
Ancaq Chromium versiyası 119Bundan sonra Google bu "antik qrammatika" ilə vidalaşdı: gördüyünüz qədər language Atributlar, brauzer onları seçici olaraq görməməzliyə vuracaq və hətta izah etməyə belə narahat olmayacaq.
Uyğunluq səbəblərinə görə, masaüstündəki Chrome hələ də "müvəqqəti olaraq onun qayğısına qalır"; lakin mobil Android-də Chrome "avansdır" və dərhal bu təmizləmə strategiyasını aktivləşdirdi.
Beləliklə ortaya çıxdı:Kompüter yaxşı işləyir amma mobil telefon işləmirProblem.
Niyə Android ilk addım atdı?
Bəzi insanlar soruşa bilər: Niyə Android Chrome əvvəlcə işə salınır?
Bu, çox sadədir, çünki mobil terminalın təkmilləşdirmə tempi daha sürətlidir və Google məlumatı qırmızı zərflər göndərmək qədər sürətlə itələyir.
在 2023 10 年 月 日 31, Chrome 119 Android versiyası tam olaraq Google Play vasitəsilə ötürülüb.
Desktop versiyasında Chromium kernelindən də istifadə olunsa da, çoxlu sayda daxili korporativ sistemləri qəfil partlatmamaq üçün "əlini saxlamaq" adətdir.
Beləliklə, əgər siz hələ də " ifadəsini işlədirsinizsəlanguage=javascript", Android telefonlarında bu, brauzerin birbaşa məhəl qoymadığı şəffaf kodun yazılmasına bərabərdir.
Həll yolu: Bunu üç saniyəyə tamamlayın
Xoşbəxtlikdən, bu problemin həlli olduqca sadədir. Sadəcə bu xətti dəyişdirin:
<script>
Və ya bir az daha rəsmi olaraq:
<script type="text/javascript">
Onu dəyişdirmək cəmi bir neçə saniyə çəkir və Android Chrome onu dərhal icra edəcək.
Dəyişiklikdən sonra unutmayınKeşi yeniləməyə məcbur edinƏks halda, brauzer hələ də köhnə faylı oxuya bilər. Metod da sadədir:
- Kompüter: Ctrl + F5
- Telefon: Parametrlər → Məxfilik → Keşi sil
Yeniləndikdən sonra kod saniyələr ərzində canlanır və səhifə yenidən işləməyə başlayır.
Bu, əslində "ləğvetmə"dir.
Son təhlildə bu dəfəki problem JS-nin özünün problemi deyil, əksinəFront-end miras kodunun dövrü.
Brauzer istehsalçılarının etməli olduqları şey çox aydındır: köhnəlmiş sintaksisi tədricən təmizləyin və tərtibatçıları yeniləməyə məcbur edin.
Bu, magistral yola bənzəyir: əvvəllər üç təkərli və traktorların yan-yana işləməsinə icazə verilirdi, indi isə təhlükəsizlik baxımından onları qovmaq lazımdır. language="javascript" Həmin traktor sürət zolağında olmamalı idi.
Tərtibatçılar nələrə diqqət etməlidirlər?
Bu hadisə bizə çox real bir xatırlatma rolunu oynayır:
Kodlaşdırma standartları həqiqətən vacibdir "Sadəcə işləyir" hesab etdiyiniz kod müəyyən versiyada işləməyini dayandıra bilər.
Test mühiti templə ayaqlaşmalıdır Sadəcə klikləyib kompüterinizdə Chrome-da dərc etməyin. Bunu mobil cihazlarda və brauzerlərin müxtəlif versiyalarında yoxlamaq lazımdır.
Brauzer yeniləmə qeydlərini izləyin Chromium hər dəfə təkmilləşdirildikdə çoxlu "Köhnəlmə və Silinmə" olur. Bunlar bəzək deyil, işinizi həqiqətən öldürəcək.
Nəticə: Kod xəttinin arxasında texnoloji təkamül dayanır
Bir çox insanlar Google-un "qeyri-etik" olmasından şikayətlənir, lakin daha yüksək nöqteyi-nəzərdən bu, bütün Veb ekosistemini irəli aparan qaçılmaz bir prosesdir.
Köhnə atributları aradan qaldırmaq və tərtibatçıları standartlara riayət etməyə məcbur etmək texnoloji sivilizasiyanın təkrarlanmasıdır.
Bütün köhnəlmiş sintaksislə uyğunlaşmağa davam etsək, ön hissə gec-tez xarab olmuş hodgepodge qazanına çevriləcəkdir.
Ona görə də biz bu kiçik çuxuru təmir edəndə əslində “texnoloji sivilizasiyanın təmizləmə hərəkatında” iştirak etmiş oluruq.
Növbəti bir neçə ildə daha çox oxşar tələlər olacaq və yeganə antidotdurZamanla ayaqlaşın və standartları qəbul edin.
Yekun xülasə
- Kompüterlər onu işlədə bilər, amma Android edə bilməz, çünki
<script language="javascript">Köhnəlmişdir. - etibarən Xrom 119 Android Chrome atlamada liderlik edir
languageAtribut<script>块。 - Həll yolu: istifadə edin
<script>Və ya<script type="text/javascript">. - Dəyişiklikdən sonra keşi yeniləyin və problem bərpa olunacaq.
- Tərtibatçılar həmişə brauzer yeniləmələrinə diqqət yetirməli və standartlaşdırılmış şəkildə kod yazmaq vərdişini inkişaf etdirməlidirlər.
Beləliklə, növbəti dəfə kompüterin yaxşı işlədiyi, lakin telefonun işləmədiyi qəribə bir səhvlə qarşılaşsanız, bu barədə düşünə bilərsiniz: kodunuzda gizlənmiş "keçən əsrdən qalma" varmı?
Hope Chen Weiliang Blogu ( https://www.chenweiliang.com/ ) paylaşdı "Niyə JS kodu Android Chrome-da uğursuz olur? İcra edilməməsinin səbəbi aşkar edildi və bir kliklə həll edildi! ", bu sizin üçün faydalı ola bilər.
Bu məqalənin linkini paylaşmağa xoş gəlmisiniz:https://www.chenweiliang.com/cwl-33236.html
Daha çox gizli hiylələri açmaq üçün🔑 Telegram kanalımıza qoşulmağa xoş gəlmisiniz!
Bəyəndinizsə paylaşın və bəyənin! Paylaşımlarınız və bəyənmələriniz bizim davamlı motivasiyamızdır!