Miért hibásodik meg a JavaScript kód az Android Chrome-on? Leleplezve: Egy kattintásos megoldás!

Azt hitted, hogy a weboldal rendben van, és a JS kód is stabil, mint egy öreg kutya, de amint megváltoztattad a mobil böngésző verzióját, az oldal "sztrájkba kezdett"?

A legfelháborítóbb dolog az, hogy a számítógép normálisan fut,AndrewsDe a telefon teljesen figyelmen kívül hagy téged.

Ez nem vicc, ez egy böngészőprobléma, ami csendben jelentkezik.

A probléma gyökere: Nem az, hogy rosszul írtad, hanem az idők hagytak el.

Miért hibásodik meg a JavaScript kód az Android Chrome-on? Leleplezve: Egy kattintásos megoldás!

Valójában, amikor a legtöbb fejlesztő ezt a jelenséget látja, az első reakciója a következő: Van valami hiba a JS szintaxisában? Nincs betöltve a DOM? Vagy a jogosultságok blokkolva vannak?

Az eredmény? Egyik sem. Az igazi bűnösnek az az ősi írás bizonyult:

<script language="javascript">

Ez a kódsor népszerű volt 20 évvel ezelőttkorlátlan, ami az összes oktatóanyagban látható.

但在 Chromium 119-es verzióEzután a Google búcsút intett ennek az „antik nyelvtannak”: amíg csak látod language Attribútumok, a böngésző szelektíven figyelmen kívül hagyja őket, és még csak nem is veszi a fáradságot, hogy elmagyarázza őket.

Kompatibilitási okokból az asztali Chrome még „ideiglenesen megoldja a problémát”, de a mobilos Androidon a Chrome az „élcsapat”, és azonnal engedélyezte ezt a tisztítási stratégiát.

Szóval megjelent:A számítógép jól működik, de a mobiltelefon nemA probléma.

Miért az Android lépett először?

Egyesek megkérdezhetik: Miért indult el először az Android Chrome?

Nagyon egyszerű, mivel a mobil terminál frissítési üteme gyorsabb, és a Google olyan gyorsan küldi az információkat, mint a piros borítékokat.

2023 年 10 月 31 日A Chrome 119-es Android-verziója teljes mértékben elérhetővé vált a Google Playen.

Bár az asztali verzió is a Chromium kernelt használja, szokás "kezet tartani", hogy elkerüljük a nagyszámú belső vállalati rendszer hirtelen felrobbantását.

Szóval, ha még mindig használod a kifejezést: "language=javascript", Androidos telefonokon ez egyenértékű egy átlátszó kód írásával, amelyet a böngésző közvetlenül figyelmen kívül hagy.

Megoldás: Végezd el három másodperc alatt

Szerencsére a probléma megoldása hihetetlenül egyszerű. Csak cserélje ki ezt a sort:

<script>

Vagy egy kicsit hivatalosabban:

<script type="text/javascript">

Csak néhány másodpercig tart módosítani, és az Android Chrome azonnal végrehajtja.

Ne feledd, a módosítás utánGyorsítótár kényszerített frissítéseEllenkező esetben a böngésző továbbra is a régi fájlt olvashatja. A módszer is egyszerű:

  • Számítógép: Ctrl + F5
  • Telefon: Beállítások → Adatvédelem → Gyorsítótár törlése

Frissítés után a kód másodpercek alatt újraéled, és az oldal újra elkezd futni.

Ez valójában egy "felszámolás".

Végső soron a probléma ezúttal nem maga a JS problémája, hanemA front-end hagyományos kód korszaka.

A böngészőgyártóknak egyértelmű feladatuk van: fokozatosan megtisztítaniuk az elavult szintaxist, és kényszeríteniük a fejlesztőket a frissítésre.

Olyan ez, mint egy autópálya: a triciklik és a traktorok korábban egymás mellett közlekedhettek, de most biztonsági okokból ki kell őket hajtani. language="javascript" Annak a traktornak nem lett volna szabad a gyors sávban lennie.

Mire kell figyelniük a fejlesztőknek?

Ez az eset nagyon is valóságos emlékeztetőül szolgál számunkra:

  1. A kódolási szabványok nagyon fontosak A kód, amiről azt hiszed, hogy "egyszerűen működik", egy bizonyos verzióban már nem fog működni.

  2. A tesztkörnyezetnek lépést kell tartania a tempóval Ne csak a számítógépeden kattints és publikálj a Chrome-ban. Ellenőrizned kell mobileszközökön és a böngészők különböző verzióiban is.

  3. Kövesse a böngésző frissítési naplóit Minden alkalommal, amikor a Chromium frissül, rengeteg „elavulási és eltávolítási” megjegyzés jelenik meg. Ezek nem díszek, de tényleg tönkreteszik az üzletedet.

Konklúzió: Egy sornyi kód mögött technológiai fejlődés áll

Sokan panaszkodnak, hogy a Google „etikátlan”, de magasabb perspektívából nézve ez valójában egy elkerülhetetlen folyamat, amely előre viszi az egész webes ökoszisztémát.

A régi tulajdonságok kiküszöbölése és a fejlesztők szabványok követésére kényszerítése a technológiai civilizáció iterációja.

Ha továbbra is kompatibilisek maradunk az elavult szintaxissal, a frontend előbb-utóbb egy omladozó kavalkáddá válik.

Ezért, amikor megjavítjuk ezt a kis gödröt, valójában a "technológiai civilizáció tisztítómozgalmában" veszünk részt.

A következő néhány évben egyre több hasonló buktató lesz, és az egyetlen ellenszer azTarts lépést a korral és kövesd a szabványokat.

Végső összefoglaló

  • Számítógépeken futtatható, de Androidon nem, mert <script language="javascript"> Elavult.
  • -tól Króm 119 Az Android Chrome vezeti a kihagyásban language Attribútum <script> 块.
  • A megoldás a következő: használd <script><script type="text/javascript">.
  • A módosítás után frissítse a gyorsítótárat, és a probléma helyreáll.
  • A fejlesztőknek mindig figyelniük kell a böngészőfrissítésekre, és szokásuknak kell lenniük a kód szabványosított módon történő írásában.

Tehát, amikor legközelebb egy furcsa hibával találkozol, ahol a számítógép jól működik, de a telefon nem, érdemes lehet ezen elgondolkodnod: Van-e egy „múlt századi ereklye” elrejtve a kódodban?

发表 评论

E-mail címét nem tesszük közzé. A kötelező mezőket használjuk * Címke

Lapozzon a lap tetejére