Directorio de artigos
- 1 A raíz do problema: non é que o escribises mal, senón que os tempos te abandonaron.
- 2 Por que foi Android quen tomou medidas primeiro?
- 3 Solución: Remato en tres segundos
- 4 Isto é en realidade unha "liquidación"
- 5 A que deberían prestar atención os desenvolvedores?
- 6 Conclusión: Detrás dunha liña de código hai a evolución tecnolóxica
- 7 Resumo final
Pensabas que o sitio web estaba ben e que o código JS era tan estable coma un can vello, pero en canto cambiaches a versión do navegador móbil, a páxina "deixou de funcionar"?
O máis escandaloso é que o ordenador funciona con normalidade,AndroidPero o teléfono ignórate por completo.
Isto non é unha broma, é un problema do navegador que se leva producindo en silencio.
A raíz do problema: non é que o escribises mal, senón que os tempos te abandonaron.

De feito, cando a maioría dos desenvolvedores ven este fenómeno, a súa primeira reacción é: Hai algún erro na sintaxe de JS? Non está cargado o DOM? Ou está bloqueado o permiso?
O resultado? Ningún deles. O verdadeiro culpable resultou ser esa antiga escritura:
<script language="javascript">
Esta liña de código foi popular hai 20 anosilimitado, que se pode ver en todos os titoriais.
Pero en Versión 119 de ChromiumDespois diso, Google despediuse desta "gramática antiga": sempre que vexas language Atributos, o navegador ignoraraos selectivamente e nin sequera se molestará en explicalos.
Por razóns de compatibilidade, Chrome no escritorio aínda se "encarga diso temporalmente"; pero Chrome no móbil Android é a "vangarda" e activou inmediatamente esta estratexia de limpeza.
Así apareceu:O ordenador funciona ben, pero o móbil non funcionaO problema.
Por que foi Android quen tomou medidas primeiro?
Algunhas persoas poden preguntarse: por que se lanzou primeiro Android Chrome?
É moi sinxelo, porque o ritmo de actualización do terminal móbil é máis rápido e Google envía información tan rápido como enviar sobres vermellos.
en En xaneiro de 2023 10 Día 31A versión 119 de Chrome para Android xa está completamente dispoñible en Google Play.
Aínda que a versión de escritorio tamén emprega o kernel Chromium, é costume "vixiar as cousas" para evitar que de súpeto explote un gran número de sistemas corporativos internos.
Entón, se aínda estás a usar a frase "language=javascript", nos teléfonos Android é equivalente a escribir un código transparente, que o navegador ignora directamente.
Solución: Remato en tres segundos
Afortunadamente, a solución para este problema é incriblemente sinxela. Só tes que substituír esta liña:
<script>
Ou un pouco máis formalmente:
<script type="text/javascript">
Só leva uns segundos modificalo e Android Chrome executarao inmediatamente.
Lembra, despois da modificaciónForzar a actualización da cachéSe non, o navegador aínda podería estar lendo o ficheiro antigo. O método tamén é sinxelo:
- Ordenador: Ctrl + F5
- Teléfono: Configuración → Privacidade → Borrar caché
Unha vez actualizado, o código reactivase en segundos e a páxina comeza a executarse de novo.
Isto é en realidade unha "liquidación"
En última instancia, o problema esta vez non é o problema de JS en si, senónA era do código herdado front-end.
O que deben facer os fabricantes de navegadores está moi claro: limpar gradualmente a sintaxe desactualizada e obrigar aos desenvolvedores a actualizar.
É coma unha autoestrada: antes permitíase que os triciclos e os tractores circulasen un ao lado do outro, pero agora, por razóns de seguridade, hai que sacalos da estrada. language="javascript" Ese tractor debería ter saído da vía rápida hai moito tempo.
A que deberían prestar atención os desenvolvedores?
Este incidente sérvenos como un recordatorio moi realista:
Os estándares de codificación son realmente importantes O código que cres que "simplemente funciona" pode deixar de funcionar nunha determinada versión.
O ambiente de proba debe manter o ritmo Non te limites a facer clic e publicar en Chrome no teu ordenador. Debes comprobalo en dispositivos móbiles e diferentes versións de navegadores.
Seguir os rexistros de actualización do navegador Cada vez que se actualiza Chromium, hai moitas "desaprobacións e eliminacións". Estas non son decoracións, pero acabarán co teu negocio.
Conclusión: Detrás dunha liña de código hai a evolución tecnolóxica
Moita xente quéixase de que Google é "pouco ético", pero desde unha perspectiva máis elevada, este é en realidade un proceso inevitable que impulsa todo o ecosistema web.
Eliminar os atributos antigos e obrigar os desenvolvedores a seguir estándares é a iteración da civilización tecnolóxica.
Se continuamos a ser compatíbeis con toda a sintaxe desactualizada, a interface tarde ou cedo converterase nun pote de mestura deteriorada.
Polo tanto, cando reparamos este pequeno pozo, estamos a participar nun "movemento de limpeza da civilización tecnolóxica".
Nos próximos anos, haberá cada vez máis trampas semellantes, e o único antídoto éMantente ao día dos tempos e adopta os estándares.
Resumo final
- Os ordenadores poden executalo, pero Android non, porque
<script language="javascript">Obsoleto. - de Chromium 119 Android Chrome toma a dianteira en saltar ficheiros
languageAtributo<script>Peza. - A solución é: usar
<script>或<script type="text/javascript">. - Despois da modificación, actualice a caché e o problema restaurarase.
- Os desenvolvedores deben prestar sempre atención ás actualizacións do navegador e desenvolver o hábito de escribir código dun xeito estandarizado.
Entón, a próxima vez que atopes un erro estraño no que o ordenador funcione ben pero o teléfono non, deberías pensar nisto: hai algunha "reliquia do século pasado" agochada no teu código?
Blog de Hope Chen Weiliang ( https://www.chenweiliang.com/ ) compartiu "Por que falla o código JS en Android Chrome? Revélase o motivo da non execución e hai unha solución cun só clic!", o que pode serche útil.
Benvido a compartir a ligazón deste artigo:https://www.chenweiliang.com/cwl-33236.html
Para desbloquear máis trucos ocultos🔑, únete á nosa canle de Telegram!
Comparte e da like se te gusta! As túas accións e Gústame son a nosa motivación continua!