Prečo zlyháva kód JavaScript v prehliadači Android Chrome? Odhalené: Riešenie jedným kliknutím!

Mysleli ste si, že webová stránka je v poriadku a JS kód je stabilný ako starý pes, ale hneď ako ste zmenili verziu mobilného prehliadača, stránka „zaštrajkovala“?

Najneuveriteľnejšie je, že počítač beží normálne,AndrewsAle telefón vás úplne ignoruje.

Toto nie je vtip, je to problém s prehliadačom, ktorý sa deje potichu.

Koreň problému: Nie je to tak, že si to napísal zle, ale že ťa opustila doba.

Prečo zlyháva kód JavaScript v prehliadači Android Chrome? Odhalené: Riešenie jedným kliknutím!

V skutočnosti, keď väčšina vývojárov vidí tento jav, ich prvá reakcia je: Je v syntaxi JS chyba? Nie je načítaný DOM? Alebo je povolenie zablokované?

Výsledok? Žiaden z nich. Skutočným vinníkom sa ukázal byť ten staroveký nápis:

<script language="javascript">

Tento riadok kódu bol populárny pred 20 rokmineobmedzené, ktoré je možné vidieť vo všetkých návodoch.

Ale v Verzia Chromia 119Potom sa Google rozlúčil s touto „starodávnou gramatikou“: pokiaľ vidíte language Atribúty, prehliadač ich bude selektívne ignorovať a ani sa neobťažuje ich vysvetliť.

Z dôvodov kompatibility sa Chrome na počítači stále „stará o to dočasne“; ale Chrome na mobilnom zariadení so systémom Android je „predvojom“ a túto stratégiu čistenia okamžite povolil.

Tak sa to ukázalo:Počítač funguje dobre, ale mobilný telefón nefungujeProblém.

Prečo Android konal ako prvý?

Niektorí ľudia sa môžu pýtať: Prečo je Android Chrome uvedený na trh ako prvý?

Je to veľmi jednoduché, pretože tempo aktualizácie mobilného terminálu je rýchlejšie a Google posiela informácie rovnako rýchlo ako posielanie červených obálok.

2023 10 年 月 日 31Verzia prehliadača Chrome 119 pre Android bola plne dostupná prostredníctvom služby Google Play.

Hoci aj desktopová verzia používa jadro Chromium, je zvykom „držať sa v strehu“, aby sa predišlo náhlemu narušeniu prevádzky veľkého množstva interných firemných systémov.

Takže, ak stále používate frázu „language=javascript„, na telefónoch s Androidom je to ekvivalentné písaniu transparentného kódu, ktorý prehliadač priamo ignoruje.

Riešenie: Zvládnete to za tri sekundy

Našťastie je riešenie tohto problému neuveriteľne jednoduché. Stačí nahradiť tento riadok:

<script>

Alebo trochu formálnejšie:

<script type="text/javascript">

Jeho úprava trvá len niekoľko sekúnd a prehliadač Android Chrome ho okamžite vykoná.

Pamätajte, že po úpraveVynútiť obnovenie vyrovnávacej pamäteV opačnom prípade môže prehliadač stále čítať starý súbor. Metóda je tiež jednoduchá:

  • Počítač: Ctrl + F5
  • Telefón: Nastavenia → Súkromie → Vymazať vyrovnávaciu pamäť

Po obnovení sa kód v priebehu niekoľkých sekúnd oživí a stránka sa znova spustí.

Toto je vlastne „likvidácia“.

V konečnom dôsledku problém tentoraz nie je problém samotného JS, aleÉra staršieho front-endového kódu.

Výrobcovia prehliadačov musia urobiť veľmi jasné: postupne vyčistiť zastaranú syntax a prinútiť vývojárov k aktualizáciám.

Je to ako diaľnica: trojkolky a traktory mohli predtým jazdiť vedľa seba, ale teraz ich z bezpečnostných dôvodov musia vyhnať. language="javascript" Ten traktor nemal byť na rýchlom pruhu.

Na čo by si mali vývojári dať pozor?

Táto udalosť nám slúži ako veľmi realistická pripomienka:

  1. Štandardy kódovania sú naozaj dôležité Kód, o ktorom si myslíte, že „jednoducho funguje“, môže v určitej verzii prestať fungovať.

  2. Testovacie prostredie musí držať krok s tempom Nestačí kliknúť a zverejniť v prehliadači Chrome na počítači. Musíte si to overiť aj na mobilnom telefóne a v rôznych verziách prehliadačov.

  3. Sledujte protokoly aktualizácií prehliadača Pri každej aktualizácii prehliadača Chromium sa objaví veľa „zastaraní a odstránení“. Tieto zmeny nie sú len dekorácie, ale naozaj vám poškodia podnikanie.

Záver: Za riadkom kódu sa skrýva technologická evolúcia

Mnoho ľudí sa sťažuje, že Google je „neetický“, ale z vyššieho hľadiska je to v skutočnosti nevyhnutný proces, ktorý poháňa celý webový ekosystém vpred.

Odstránenie starých atribútov a nútenie vývojárov dodržiavať štandardy je iteráciou technologickej civilizácie.

Ak budeme naďalej kompatibilní so všetkou zastaranou syntaxou, front-end sa skôr či neskôr zmení na hrniec schátranej zmesi.

Preto, keď opravujeme túto malú jamu, v skutočnosti sa zúčastňujeme na „čistiacom hnutí technologickej civilizácie“.

V najbližších rokoch bude čoraz viac podobných nástrah a jediným protijedom jeDržte krok s dobou a osvojte si štandardy.

Záverečné zhrnutie

  • Počítače ho dokážu spustiť, ale Android nie, pretože <script language="javascript"> Zastarané.
  • z Chromium 119 Android Chrome preberá vedúce postavenie v preskakovaní language Atribút <script> 块。
  • Riešenie je: použiť <script> alebo <script type="text/javascript">.
  • Po úprave obnovte vyrovnávaciu pamäť a problém sa vyrieši.
  • Vývojári by mali vždy venovať pozornosť aktualizáciám prehliadača a osvojiť si zvyk písať kód štandardizovaným spôsobom.

Takže, keď nabudúce narazíte na zvláštnu chybu, kde počítač funguje dobre, ale telefón nefunguje, mali by ste sa zamyslieť aj nad týmto: Je vo vašom kóde skrytá „pozostatok z minulého storočia“?

发表 评论

Vaša emailová adresa nebude zverejnená. 必填 项 已 用 * Štítok

Adresár článkov
Prejdite na začiatok