Zakaj JavaScript koda ne deluje v brskalniku Android Chrome? Razkrito: Rešitev z enim klikom!

Mislili ste, da je spletna stran v redu in da je JS koda stabilna kot star pes, ampak takoj ko ste spremenili različico mobilnega brskalnika, je stran "stavkala"?

Najbolj nezaslišano je: računalnik deluje normalno,AndroidAmpak telefon te popolnoma ignorira.

To ni šala, to je težava z brskalnikom, ki se dogaja tiho.

Koren problema: Ni v tem, da si narobe napisal, ampak v tem, da te je čas zapustil.

Zakaj JavaScript koda ne deluje v brskalniku Android Chrome? Razkrito: Rešitev z enim klikom!

Pravzaprav je prva reakcija večine razvijalcev, ko opazijo ta pojav: Ali je v sintaksi JS napaka? Ali DOM ni naložen? Ali pa je dovoljenje blokirano?

Rezultat? Nobeden od njih. Pravi krivec se je izkazal za starodavno pisanje:

<script language="javascript">

Ta vrstica kode je bila priljubljena pred 20 letineomejeno, kar je mogoče videti v vseh vadnicah.

但在 Različica Chromium 119Po tem se je Google poslovil od te "starinske slovnice": dokler vidite language Atribute bo brskalnik selektivno ignoriral in se jih sploh ne bo trudil razložiti.

Zaradi združljivosti Chrome na namiznih računalnikih še vedno »začasno skrbi za to«, Chrome na mobilnih napravah Android pa je »avantgarda« in je to strategijo čiščenja takoj omogočil.

Tako se je izkazalo:Računalnik deluje brezhibno, mobilni telefon pa ne delujeTežava.

Zakaj je Android prvi ukrepal?

Nekateri se morda sprašujejo: Zakaj je bil Android Chrome predstavljen prvi?

Zelo preprosto je, saj je tempo nadgradnje mobilnega terminala hitrejši, Google pa potiska informacije tako hitro kot pošiljanje rdečih ovojnic.

2023 10 年 月 日 31Različica Chroma 119 za Android je bila v celoti na voljo prek trgovine Google Play.

Čeprav tudi namizna različica uporablja jedro Chromium, je običajno "paziti", da se izognemo nenadnemu sesutju velikega števila notranjih sistemov podjetja.

Torej, če še vedno uporabljate besedno zvezo "language=javascript", na telefonih Android je to enakovredno pisanju prozorne kode, ki jo brskalnik neposredno ignorira.

Rešitev: Opravite v treh sekundah

Na srečo je rešitev za to težavo neverjetno preprosta. Samo zamenjajte to vrstico:

<script>

Ali malo bolj formalno:

<script type="text/javascript">

Spreminjanje traja le nekaj sekund in Android Chrome ga bo takoj izvedel.

Ne pozabite, po spremembiVsiljeno osvežitev predpomnilnikaSicer brskalnik morda še vedno bere staro datoteko. Metoda je prav tako preprosta:

  • Računalnik: Ctrl + F5
  • Telefon: Nastavitve → Zasebnost → Počisti predpomnilnik

Ko je koda osvežena, se v nekaj sekundah znova zažene in stran se znova začne izvajati.

To je pravzaprav "likvidacija"

Končna analiza kaže, da problem tokrat ni problem samega JS-ja, ampakDoba starejše kode za front-end.

Kar morajo proizvajalci brskalnikov storiti, je zelo jasno: postopoma očistiti zastarelo sintakso in prisiliti razvijalce k posodobitvam.

To je kot avtocesta: prej so tricikli in traktorji smeli voziti drug ob drugem, zdaj pa jih je treba zaradi varnostnih razlogov pregnati. language="javascript" Ta traktor ne bi smel biti na prehitrem pasu.

Na kaj naj bodo razvijalci pozorni?

Ta dogodek nam služi kot zelo realističen opomnik:

  1. Standardi kodiranja so resnično pomembni Koda, za katero menite, da "preprosto deluje", lahko v določeni različici preneha delovati.

  2. Testno okolje mora slediti tempu Ne kliknite in objavite samo v Chromu na računalniku. Preveriti morate tudi na mobilnih napravah in različnih različicah brskalnikov.

  3. Sledite dnevnikom posodobitev brskalnika Vsakič, ko se Chromium nadgradi, se pojavi veliko "zastarelih in odstranjenih" oznak. To niso okraski, ampak bodo resnično uničili vaše poslovanje.

Zaključek: Za vrstico kode se skriva tehnološki razvoj

Mnogi se pritožujejo, da je Google "neetičen", toda z višje perspektive je to pravzaprav neizogiben proces, ki celoten spletni ekosistem žene naprej.

Odprava starih atributov in prisiljevanje razvijalcev k upoštevanju standardov je ponovitev tehnološke civilizacije.

Če bomo še naprej združljivi z vso zastarelo sintakso, bo sprednji del prej ali slej postal lonec dotrajane mešanice.

Zato, ko popravljamo to majhno jamo, pravzaprav sodelujemo v "čiščenju tehnološke civilizacije".

V naslednjih nekaj letih bo podobnih pasti vedno več, edini protistrup pa jeSledite času in upoštevajte standarde.

Končni povzetek

  • Računalniki ga lahko poganjajo, Android pa ne, ker <script language="javascript"> Zastarelo.
  • Chromium 119 Android Chrome prevzame vodilno vlogo pri preskakovanju language Atribut <script> 块。
  • Rešitev je: uporaba <script><script type="text/javascript">.
  • Po spremembi osvežite predpomnilnik in težava bo odpravljena.
  • Razvijalci bi morali vedno biti pozorni na posodobitve brskalnikov in razviti navado pisanja kode na standardiziran način.

Torej, ko boste naslednjič naleteli na nenavadno napako, kjer računalnik deluje normalno, telefon pa ne, lahko pomislite tudi na tole: Ali se v vaši kodi skriva "relikvija iz prejšnjega stoletja"?

发表 评论

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

Pomaknite se na vrh