Por que o código JavaScript falha no Chrome para Android? Revelado: Solução com um clique!

Você achou que o site estava bom e o código JS estava estável como um cachorro velho, mas assim que você mudou a versão do navegador móvel, a página "entrou em greve"?

O mais absurdo é que funciona normalmente em um computador, mas simplesmente ignora você em um celular Android .

Isso não é brincadeira, é um problema do navegador que vem acontecendo silenciosamente.

A raiz do problema: Não é que você escreveu errado, mas que o tempo o abandonou

Por que o código JavaScript falha no Chrome para Android? Revelado: Solução com um clique!

Na verdade, quando a maioria dos desenvolvedores vê esse fenômeno, sua primeira reação é: há um bug na sintaxe do JS? O DOM não foi carregado? Ou a permissão está bloqueada?

O resultado? Nenhum deles. O verdadeiro culpado acabou sendo aquela escrita antiga:

<script language="javascript">

Essa linha de código era incrivelmente popular há 20 anos ; você podia vê-la em todos os tutoriais.

Mas em Chromium versão 119Depois disso, o Google disse adeus a essa "gramática antiga": enquanto você vê language Atributos, o navegador os ignorará seletivamente e nem se preocupará em explicá-los.

Por motivos de compatibilidade, o Chrome no desktop ainda está "cuidando disso temporariamente"; mas o Chrome no Android móvel é a "vanguarda" e imediatamente ativou essa estratégia de limpeza.

Isso levou ao problema de o computador funcionar bem, mas o celular apresentar mau funcionamento.

Por que o Android agiu primeiro?

Algumas pessoas podem perguntar: Por que o Android Chrome é lançado primeiro?

É muito simples, porque o ritmo de atualização do terminal móvel é mais rápido, e o Google envia informações tão rápido quanto envia envelopes vermelhos.

Em 31 de outubro de 2023 , o Chrome 119 para Android foi totalmente lançado através do Google Play.

Embora a versão para desktop também use o kernel do Chromium, é costume "ficar atento" para evitar explodir repentinamente um grande número de sistemas corporativos internos.

Então, se você ainda usa a frase "language=javascript", em celulares Android é equivalente a escrever um código transparente, que o navegador ignora diretamente.

Solução: Faça em três segundos

Felizmente, a solução para esse problema é incrivelmente simples. Basta substituir esta linha:

<script>

Ou um pouco mais formalmente:

<script type="text/javascript">

Leva apenas alguns segundos para modificá-lo, e o Android Chrome o executará imediatamente.

Lembre-se de forçar a atualização do cache após fazer alterações ; caso contrário, o navegador ainda poderá estar lendo o arquivo antigo. O método é simples:

  • Computador: Ctrl + F5
  • Telefone: Configurações → Privacidade → Limpar cache

Uma vez atualizado, o código é reativado em segundos e a página começa a ser executada novamente.

Na verdade, isso é uma "liquidação"

Em última análise, o problema não estava no JavaScript em si, mas sim em um acerto de contas com o código front-end legado.

O que os fabricantes de navegadores precisam fazer é muito claro: limpar gradualmente a sintaxe desatualizada e forçar os desenvolvedores a atualizar.

É como uma rodovia: antes, triciclos e tratores podiam circular lado a lado, mas agora, por razões de segurança, eles precisam ser retirados. language="javascript" Aquele trator não deveria estar na faixa rápida.

No que os desenvolvedores devem prestar atenção?

Este incidente serve como um lembrete muito realista para nós:

  1. O estilo de código é realmente importante. Um código que você acha que "só precisa funcionar" pode apresentar problemas em uma versão posterior.

  2. O ambiente de testes precisa acompanhar o ritmo. Não basta clicar em alguns links no Chrome do seu computador e publicar a versão. É preciso testá-la em dispositivos móveis e em diferentes versões de navegadores.

  3. Preste atenção aos registros de atualização do navegador. As atualizações do Chromium sempre vêm com várias mensagens de "Descontinuação e Remoção". Elas não são apenas para inglês ver; podem realmente prejudicar seus negócios.

Conclusão: Por trás de uma linha de código está a evolução tecnológica

Muitas pessoas reclamam que o Google é "antiético", mas, de uma perspectiva mais ampla, esse é, na verdade, um processo inevitável que impulsiona todo o ecossistema da Web.

Eliminar atributos antigos e forçar os desenvolvedores a seguir padrões é a iteração da civilização tecnológica.

Se continuarmos a ser compatíveis com toda a sintaxe ultrapassada, o front end, mais cedo ou mais tarde, se tornará uma miscelânea dilapidada.

Portanto, quando consertamos esse pequeno buraco, estamos na verdade participando de um "movimento de limpeza da civilização tecnológica".

Nos próximos anos, problemas semelhantes só irão aumentar, e a única solução é acompanhar os tempos e acatar as regulamentações.

Resumo final

  • Os computadores podem executá-lo, mas o Android não, porque <script language="javascript"> Obsoleto.
  • 从 Cromo 119 O Chrome para Android assume a liderança em pular language Atributo <script> 块。
  • A solução é: usar <script> 或 <script type="text/javascript">.
  • Após a modificação, atualize o cache e o problema será restaurado.
  • Os desenvolvedores devem sempre prestar atenção às atualizações do navegador e desenvolver o hábito de escrever código de maneira padronizada.

Então, da próxima vez que você encontrar um bug estranho em que o computador funciona bem, mas o telefone não, você pode pensar no seguinte: existe uma “relíquia do século passado” escondida no seu código?

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Voltar ao Topo