Per què falla el codi JS a Android Chrome? Descobert: Solució amb un sol clic!

Pensaves que el lloc web estava bé i que el codi JS era tan estable com un gos vell, però tan bon punt vas canviar la versió del navegador mòbil, la pàgina "va entrar en vaga"?

El més escandalós és que l'ordinador funciona amb normalitat,AndroidPerò el telèfon t'ignora completament.

Això no és cap broma, és un problema del navegador que ha estat passant discretament.

L'arrel del problema: No és que ho hagis escrit malament, sinó que els temps t'han abandonat.

Per què falla el codi JS a Android Chrome? Descobert: Solució amb un sol clic!

De fet, quan la majoria de desenvolupadors veuen aquest fenomen, la seva primera reacció és: Hi ha algun error a la sintaxi JS? No s'ha carregat el DOM? O està bloquejat el permís?

El resultat? Cap d'ells. El veritable culpable va resultar ser aquell antic escrit:

<script language="javascript">

Aquesta línia de codi va ser popular fa 20 anysil·limitat, que es pot veure a tots els tutorials.

Però dins Versió 119 de ChromiumDesprés d'això, Google es va acomiadar d'aquesta "gramàtica antiga": sempre que vegeu language Atributs, el navegador els ignorarà selectivament i ni tan sols es molestarà a explicar-los.

Per motius de compatibilitat, el Chrome per a ordinadors encara "se'n fa càrrec temporalment"; però el Chrome per a dispositius mòbils Android és "l'avantguarda" i va habilitar immediatament aquesta estratègia de neteja.

Així doncs, va aparèixer:L'ordinador funciona bé, però el mòbil no funcionaEl problema.

Per què va actuar Android primer?

Algunes persones es poden preguntar: Per què es va llançar primer Android Chrome?

És molt senzill, perquè el ritme d'actualització del terminal mòbil és més ràpid i Google envia informació tan ràpid com enviar sobres vermells.

2023 年 10 月 日 31La versió 119 per a Android de Chrome s'ha publicat completament a Google Play.

Tot i que la versió d'escriptori també utilitza el nucli Chromium, és habitual "vigilar" per evitar fer explotar de sobte un gran nombre de sistemes corporatius interns.

Així doncs, si encara feu servir la frase "language=javascript", en telèfons Android equival a escriure un codi transparent, que el navegador ignora directament.

Solució: Fes-ho en tres segons

Afortunadament, la solució per a aquest problema és increïblement senzilla. Només cal substituir aquesta línia:

<script>

O una mica més formalment:

<script type="text/javascript">

Només es triguen uns segons a modificar-ho i Android Chrome l'executarà immediatament.

Recordeu, després de la modificacióForçar l'actualització de la memòria cauAltrament, és possible que el navegador encara estigui llegint el fitxer antic. El mètode també és senzill:

  • Ordinador: Ctrl + F5
  • Telèfon: Configuració → Privacitat → Esborra la memòria cau

Un cop actualitzat, el codi es reactiva en segons i la pàgina torna a executar-se.

Això és en realitat una "liquidació"

En última instància, el problema aquesta vegada no és el problema de JS en si mateix, sinóL'era del codi antic front-end.

El que han de fer els fabricants de navegadors és molt clar: netejar gradualment la sintaxi obsoleta i obligar els desenvolupadors a actualitzar-los.

És com una autopista: abans es permetia que els tricicles i els tractors circulessin l'un al costat de l'altre, però ara, per motius de seguretat, s'han de fer fora. language="javascript" Aquell tractor no hauria d'haver anat al carril ràpid.

A què haurien de prestar atenció els desenvolupadors?

Aquest incident ens serveix com a recordatori molt realista:

  1. Els estàndards de codificació són realment importants El codi que creieu que "simplement funciona" pot deixar de funcionar en una versió determinada.

  2. L'entorn de prova ha de seguir el ritme No només feu clic i publiqueu al Chrome de l'ordinador. Ho heu de comprovar en dispositius mòbils i diferents versions de navegadors.

  3. Seguir els registres d'actualització del navegador Cada vegada que s'actualitza Chromium, hi ha moltes "obsoleteses i eliminacions". No són decoracions, però realment arruïnaran el vostre negoci.

Conclusió: Darrere d'una línia de codi hi ha l'evolució tecnològica

Molta gent es queixa que Google és "poc ètic", però des d'una perspectiva més elevada, en realitat és un procés inevitable que impulsa tot l'ecosistema web.

Eliminar els atributs antics i obligar els desenvolupadors a seguir estàndards és la iteració de la civilització tecnològica.

Si continuem sent compatibles amb tota la sintaxi obsoleta, el front-end tard o d'hora es convertirà en un pot de barreja deteriorada.

Per tant, quan reparem aquest petit forat, en realitat estem participant en un "moviment de neteja de la civilització tecnològica".

En els propers anys, hi haurà cada cop més paranys similars, i l'únic antídot ésMantingueu-vos al dia i adopteu els estàndards.

Resum final

  • Els ordinadors poden executar-lo, però Android no, perquè <script language="javascript"> Obsolet.
  • Chromium 119 Android Chrome pren la iniciativa en saltar-se les dades language Atribut <script> 块。
  • La solució és: utilitzar <script><script type="text/javascript">.
  • Després de la modificació, actualitzeu la memòria cau i el problema es restaurarà.
  • Els desenvolupadors sempre haurien de parar atenció a les actualitzacions del navegador i desenvolupar l'hàbit d'escriure codi de manera estandarditzada.

Així doncs, la propera vegada que us trobeu amb un error estrany on l'ordinador funcioni bé però el telèfon no, també podeu pensar en això: hi ha alguna "relíquia del segle passat" amagada al vostre codi?

发表 评论

La teva adreça de correu electrònic no es publicarà. S'utilitzen els camps obligatoris * 标注

Tornar a dalt