De ce eșuează codul JS pe Android Chrome? Expus: Soluție cu un singur clic!

Credeai că site-ul web era în regulă și codul JS era stabil ca un câine bătrân, dar imediat ce ai schimbat versiunea browserului mobil, pagina „a intrat în grevă”?

Cel mai scandalos lucru este: computerul funcționează normal,AndrewsDar telefonul te ignoră complet.

Nu e o glumă, e o problemă a browserului care se întâmplă discret.

Rădăcina problemei: Nu e că ai scris greșit, ci că vremurile te-au abandonat.

De ce eșuează codul JS pe Android Chrome? Expus: Soluție cu un singur clic!

De fapt, când majoritatea dezvoltatorilor observă acest fenomen, prima lor reacție este: Există o eroare în sintaxa JS? Nu este DOM-ul încărcat? Sau este permisiunea blocată?

Rezultatul? Niciunul dintre ei. Adevăratul vinovat s-a dovedit a fi acea scriere antică:

<script language="javascript">

Această linie de cod a fost populară acum 20 de aninelimitat, care poate fi văzut în toate tutorialele.

Dar în Chromium versiunea 119După aceea, Google și-a luat rămas bun de la această „gramatică antică”: atâta timp cât vezi language Atributele, browserul le va ignora selectiv și nici măcar nu se va obosi să le explice.

Din motive de compatibilitate, Chrome pe desktop încă „se ocupă temporar de asta”, dar Chrome pe mobil Android este „avangarda” și a activat imediat această strategie de curățare.

Așa a apărut:Calculatorul funcționează bine, dar telefonul mobil nu funcționeazăProblema.

De ce a acționat Android primul?

Unii oameni s-ar putea întreba: De ce este lansat primul Android Chrome?

Este foarte simplu, deoarece ritmul de actualizare al terminalului mobil este mai rapid, iar Google transmite informații la fel de repede ca trimiterea plicurilor roșii.

în 2023 10 年 月 日 31Versiunea 119 pentru Android, Chrome, a fost lansată complet prin Google Play.

Deși versiunea desktop folosește și ea kernelul Chromium, se obișnuiește să se „țină o mână de ajutor” pentru a evita să se dea în aer brusc un număr mare de sisteme interne ale companiei.

Deci, dacă încă folosești expresia „language=javascript„, pe telefoanele Android este echivalent cu scrierea unui cod transparent, pe care browserul îl ignoră direct.”

Soluție: Termina în trei secunde

Din fericire, soluția pentru această problemă este incredibil de simplă. Înlocuiți pur și simplu această linie:

<script>

Sau puțin mai formal:

<script type="text/javascript">

Durează doar câteva secunde să îl modifici, iar Android Chrome îl va executa imediat.

Rețineți, după modificareForțați actualizarea memoriei cacheAltfel, este posibil ca browserul să citească în continuare fișierul vechi. Metoda este, de asemenea, simplă:

  • Calculator: Ctrl + F5
  • Telefon: Setări → Confidențialitate → Ștergere memorie cache

Odată reîmprospătat, codul este reactivat în câteva secunde, iar pagina începe să ruleze din nou.

Aceasta este de fapt o „lichidare”

În cele din urmă, problema de data aceasta nu este problema JS în sine, ciEra codului front-end moștenit.

Ceea ce trebuie să facă producătorii de browsere este foarte clar: să curețe treptat sintaxa învechită și să oblige dezvoltatorii să actualizeze.

E ca o autostradă: tricicletele și tractoarele aveau voie să circule unul lângă altul înainte, dar acum, din motive de siguranță, trebuie scoase afară. language="javascript" Tractorul ăla nu ar fi trebuit să fie pe banda rapidă.

La ce ar trebui să fie atenți dezvoltatorii?

Acest incident ne servește drept o reamintire foarte realistă:

  1. Standardele de codare sunt cu adevărat importante Codul despre care crezi că „pur și simplu funcționează” s-ar putea să nu mai funcționeze într-o anumită versiune.

  2. Mediul de testare trebuie să țină pasul cu ritmul Nu trebuie doar să dai clic și să publici în Chrome pe computer. Trebuie să verifici conținutul pe dispozitive mobile și pe diferite versiuni de browser.

  3. Urmăriți jurnalele de actualizări ale browserului De fiecare dată când Chromium este actualizat, există o mulțime de „Deprecared and Remove” (Dezamăgire și Eliminări). Acestea nu sunt decorațiuni, dar vă vor distruge cu adevărat afacerea.

Concluzie: În spatele unei linii de cod se află evoluția tehnologică

Mulți oameni se plâng că Google este „neetic”, dar dintr-o perspectivă mai înaltă, acesta este de fapt un proces inevitabil care propulsează întregul ecosistem web.

Eliminarea atributelor vechi și obligarea dezvoltatorilor să respecte standardele este iterația civilizației tehnologice.

Dacă vom continua să fim compatibili cu toată sintaxa învechită, interfața va deveni, mai devreme sau mai târziu, o oală de amestec dărăpănat.

Prin urmare, atunci când reparăm această mică groapă, participăm de fapt la o „mișcare de curățare a civilizației tehnologice”.

În următorii câțiva ani, vor exista tot mai multe capcane similare, iar singurul antidot esteȚineți pasul cu vremurile și adoptați standardele.

Rezumat final

  • Calculatoarele îl pot rula, dar Android nu, deoarece <script language="javascript"> Depreciat.
  • Chromium 119 Android Chrome preia conducerea în ceea ce privește omiterea de fișiere language Atribut <script> 块。
  • Soluția este: folosiți <script><script type="text/javascript">.
  • După modificare, reîmprospătați memoria cache și problema va fi remediată.
  • Dezvoltatorii ar trebui să fie întotdeauna atenți la actualizările browserului și să își dezvolte obiceiul de a scrie cod într-un mod standardizat.

Așadar, data viitoare când întâlnești o eroare ciudată în care computerul funcționează bine, dar telefonul nu funcționează, poți la fel de bine să te gândești la asta: Există o „relicvă din secolul trecut” ascunsă în codul tău?

发表 评论

Adresa ta de e-mail nu va fi publicată. Sunt utilizate câmpurile obligatorii * Eticheta

Derulaţi în sus