Perché il codice JS non funziona su Android Chrome? Svelato: soluzione in un clic!

Pensavi che il sito web andasse bene e che il codice JS fosse stabile come un vecchio cane, ma non appena hai cambiato la versione del browser mobile, la pagina è "andata in sciopero"?

La cosa più scandalosa è: il computer funziona normalmente,AndrewsMa il telefono ti ignora completamente.

Non è uno scherzo, è un problema del browser che si è verificato in sordina.

La radice del problema: non è che hai scritto male, ma che i tempi ti hanno abbandonato

Perché il codice JS non funziona su Android Chrome? Svelato: soluzione in un clic!

Infatti, quando la maggior parte degli sviluppatori vede questo fenomeno, la loro prima reazione è: c'è un bug nella sintassi JS? Il DOM non è caricato? O il permesso è bloccato?

Il risultato? Nessuno di questi. Il vero colpevole si è rivelato essere quell'antica scrittura:

<script language="javascript">

Questa riga di codice era popolare 20 anni fa无限, che può essere visto in tutti i tutorial.

Ma in Versione 119 di ChromiumDopo di che, Google ha detto addio a questa "grammatica antica": finché vedi language Attributi: il browser li ignorerà selettivamente e non si prenderà nemmeno la briga di spiegarli.

Per motivi di compatibilità, Chrome sul desktop se ne sta ancora occupando temporaneamente; ma Chrome su dispositivi mobili Android è "all'avanguardia" e ha immediatamente attivato questa strategia di pulizia.

Così è apparso:Il computer funziona bene, ma il cellulare non funzionaIl problema.

Perché Android è intervenuto per primo?

Qualcuno potrebbe chiedersi: perché Android Chrome viene lanciato per primo?

È molto semplice, perché il ritmo di aggiornamento del terminale mobile è più veloce e Google invia le informazioni con la stessa rapidità con cui si inviano buste rosse.

2023 年 10 月 31 日La versione Android di Chrome 119 è stata completamente distribuita tramite Google Play.

Sebbene anche la versione desktop utilizzi il kernel Chromium, è consuetudine "tenere la mano" per evitare di mandare improvvisamente in tilt un gran numero di sistemi aziendali interni.

Quindi, se stai ancora usando la frase "language=javascript", sui telefoni Android equivale a scrivere un codice trasparente, che il browser ignora direttamente.

Soluzione: fallo in tre secondi

Fortunatamente, la soluzione a questo problema è incredibilmente semplice. Basta sostituire questa riga:

<script>

Oppure in modo un po' più formale:

<script type="text/javascript">

Bastano pochi secondi per modificarlo e Android Chrome lo eseguirà immediatamente.

Ricorda, dopo la modificaForza l'aggiornamento della cacheAltrimenti, il browser potrebbe continuare a leggere il vecchio file. Anche il metodo è semplice:

  • Computer: Ctrl + F5
  • Telefono: Impostazioni → Privacy → Cancella cache

Una volta aggiornato, il codice viene ripristinato in pochi secondi e la pagina ricomincia a funzionare.

Questa è in realtà una "liquidazione"

In ultima analisi, il problema questa volta non è il problema di JS in sé, maL'era del codice legacy front-end.

Ciò che i produttori di browser devono fare è molto chiaro: ripulire gradualmente la sintassi obsoleta e obbligare gli sviluppatori ad aggiornare.

È come un'autostrada: prima i tricicli e i trattori potevano circolare fianco a fianco, ma ora, per motivi di sicurezza, devono essere portati fuori. language="javascript" Quel trattore non avrebbe dovuto trovarsi sulla corsia di sorpasso.

A cosa dovrebbero prestare attenzione gli sviluppatori?

Questo incidente ci serve da promemoria molto realistico:

  1. Gli standard di codifica sono davvero importanti Il codice che pensi "funzioni" potrebbe smettere di funzionare in una determinata versione.

  2. L'ambiente di test deve tenere il passo con il ritmo Non limitarti a cliccare e pubblicare su Chrome sul tuo computer. Devi verificarlo anche sui dispositivi mobili e sulle diverse versioni dei browser.

  3. Segui i registri di aggiornamento del browser Ogni volta che Chromium viene aggiornato, compaiono numerose "deprecazioni e rimozioni". Non sono certo decorazioni, ma possono davvero rovinare la tua attività.

Conclusione: dietro una riga di codice c'è l'evoluzione tecnologica

Molte persone si lamentano del fatto che Google sia "non etico", ma da una prospettiva più ampia, questo è in realtà un processo inevitabile che fa progredire l'intero ecosistema del Web.

L'eliminazione dei vecchi attributi e l'obbligo per gli sviluppatori di seguire gli standard rappresentano l'iterazione della civiltà tecnologica.

Se continuiamo a essere compatibili con tutta la sintassi obsoleta, prima o poi il front-end diventerà un miscuglio fatiscente.

Pertanto, quando ripariamo questa piccola fossa, in realtà stiamo partecipando a un "movimento di pulizia della civiltà tecnologica".

Nei prossimi anni ci saranno sempre più insidie ​​simili e l'unico antidoto èStai al passo con i tempi e abbraccia gli standard.

Riassunto finale

  • I computer possono eseguirlo, ma Android no, perché <script language="javascript"> Obsoleto.
  • Chromium 119 Android Chrome è in testa nel saltare language Attributo <script> 块。
  • La soluzione è: usare <script><script type="text/javascript">.
  • Dopo la modifica, aggiorna la cache e il problema verrà risolto.
  • Gli sviluppatori dovrebbero sempre prestare attenzione agli aggiornamenti del browser e abituarsi a scrivere codice in modo standardizzato.

Quindi, la prossima volta che ti imbatti in uno strano bug per cui il computer funziona correttamente ma il telefono no, potresti anche pensare a questo: c'è una "reliquia del secolo scorso" nascosta nel tuo codice?

发表 评论

Il tuo indirizzo email non verrà pubblicato. 必填 项 已 用 * 标注

Scorrere fino a Top