Android Chrome で JavaScript コードが失敗する理由を解明: ワンクリックで解決!

ウェブサイトは問題なく、JS コードも安定していると思っていたのに、モバイル ブラウザーのバージョンを変更するとすぐに、ページが「ストライキ」を起こしてしまったことはありませんか?

最も驚くべきことは、コンピュータは正常に動作しているのに、Androidしかし、電話はあなたを完全に無視します。

これは冗談ではなく、静かに起こっていたブラウザの問題です。

問題の根源は、あなたがそれを間違って書いたのではなく、時代があなたを見捨てたことだ

Android Chrome で JavaScript コードが失敗する理由を解明: ワンクリックで解決!

実際、ほとんどの開発者がこの現象を目にしたとき、最初の反応は「JS 構文にバグがあるのだろうか? DOM が読み込まれていないのだろうか? それとも権限がブロックされているのだろうか?」です。

結果は?どれもダメでした。真犯人は古代の文書だったことが判明しました。

<script language="javascript">

このコード行は20年前に人気があった无限、すべてのチュートリアルで確認できます。

しかし、在 Chromium バージョン 119その後、Googleはこの「アンティーク文法」に別れを告げました。 language 属性の場合、ブラウザはそれらを選択的に無視し、説明すらしません。

互換性の理由から、デスクトップ版 Chrome ではまだ「一時的に対応中」ですが、モバイル Android 版 Chrome は「先駆者」であり、このクリーニング戦略を直ちに有効化しました。

つまり、次のようになります。パソコンは正常に動作しているが、携帯電話は動作していない問題。

Android が最初に行動を起こしたのはなぜでしょうか?

「なぜ Android Chrome が最初にリリースされるのか」と疑問に思う人もいるかもしれません。

理由は簡単、モバイル端末のアップグレードペースが速く、Google が紅包を送るのと同じくらいの速さで情報をプッシュしているからです。

2023年10月31日Chrome 119 Android バージョンが Google Play を通じて完全にプッシュされました。

デスクトップ版でも Chromium カーネルが使用されていますが、社内の多数のシステムが突然停止するのを避けるため、「手をこまねいている」のが通例です。

だから、もしあなたがまだ「language=javascript「」は、Android フォンではブラウザが直接無視する透過的なコードを記述することと同じです。

解決策: 3秒で終わらせる

幸いなことに、この問題の解決は非常に簡単です。次の行を置き換えるだけです。

<script>

あるいはもう少し正式に言うと:

<script type="text/javascript">

変更には数秒しかかからず、Android Chrome ですぐに実行されます。

覚えておいてください、修正後キャッシュを強制的に更新するそうでない場合、ブラウザはまだ古いファイルを読み込んでいる可能性があります。方法も簡単です。

  • コンピューター: Ctrl + F5
  • 電話: 設定 → プライバシー → キャッシュを消去

更新されると、コードは数秒で復活し、ページの実行が再び始まります。

これは実際には「清算」である

結局のところ、今回の問題はJS自体の問題ではなく、フロントエンドのレガシーコードの時代

ブラウザメーカーが行う必要があるのは非常に明確です。つまり、古い構文を徐々にクリーンアップし、開発者に更新を強制することです。

それは高速道路のようなものです。以前は三輪車とトラクターが並んで走ることが許可されていましたが、現在は安全上の理由からそれらを排除しなければなりません。 language="javascript" そのトラクターは追い越し車線を走るべきではなかった。

開発者は何に注意すべきでしょうか?

この事件は、私たちにとって非常に現実的な警告となります。

  1. コーディング標準は本当に重要です 「問題なく動作する」と思っていたコードでも、特定のバージョンでは動作しなくなる場合があります。

  2. テスト環境はペースに追いつく必要がある パソコンのChromeでクリックして公開するだけではいけません。モバイルデバイスやブラウザの異なるバージョンでも確認する必要があります。

  3. ブラウザの更新ログを追跡する Chromium がアップグレードされるたびに、「非推奨と削除」が頻繁に発生します。これらは単なる飾りではなく、ビジネスに深刻なダメージを与えます。

結論: コードの1行の背後には技術の進化がある

Google は「非倫理的」だと不満を言う人は多いが、より広い視点で見れば、これは実は Web エコシステム全体を前進させる避けられないプロセスなのだ。

古い属性を排除し、開発者に標準に従うよう強制することが、技術文明の反復です。

時代遅れの構文すべてと互換性を保ち続けると、フロントエンドは遅かれ早かれ、老朽化し​​た寄せ集めのものになってしまいます。

したがって、この小さな穴を修復するとき、私たちは実際に「技術文明の浄化運動」に参加していることになります。

今後数年間で、同様の落とし穴がますます増えるでしょう。そして唯一の解決策は時代に合わせて標準を受け入れる

最終まとめ

  • コンピューターでは実行できるが、Androidでは実行できない。 <script language="javascript"> 非推奨。
  • クロム119 Android Chromeがスキップでリード language 属性 <script> 块。
  • 解決策は、 <script><script type="text/javascript">
  • 変更後、キャッシュを更新すると問題は回復します。
  • 開発者は常にブラウザの更新に注意を払い、標準化された方法でコードを書く習慣を身につける必要があります。

したがって、次回、コンピューターは正常に動作するのに電話が動作しないという奇妙なバグに遭遇したときは、次のことを考えてみてください。コードの中に「前世紀の遺物」が隠されているのではないか、と。

Hope Chen Weiliang ブログ ( https://www.chenweiliang.com/ ) さんがシェアした「Android Chrome で JS コードが失敗する理由とは?実行されない理由を解明し、ワンクリックで解決!」は、参考になるかもしれません。

この記事のリンクを共有することを歓迎します。https://www.chenweiliang.com/cwl-33236.html

さらに多くの隠されたトリックのロックを解除するには、Telegram チャンネルにぜひご参加ください。

気に入ったらシェアして「いいね!」してください!あなたのシェアと「いいね!」が私たちの継続的なモチベーションです。

 

发表评论

バグのあるボックスの内容は公開されません。 必須アイテム * 标注

記事ディレクトリ
上へスクロール