Af hverju mistekst JS kóði í Android Chrome? Afhjúpað: Lausn með einum smelli!

Þú hélst að vefsíðan væri fín og JS kóðinn stöðugur eins og gamall hundur, en um leið og þú skiptir um farsímaútgáfu „fór síðan í verkfalli“?

Það fáránlegasta er: tölvan gengur eðlilega,AndroidEn síminn hunsar þig algjörlega.

Þetta er ekkert grín, þetta er vandamál með vafra sem hefur verið að gerast hljóðlega.

Rót vandans: Það er ekki að þú hafir skrifað þetta rangt, heldur að tíminn hefur yfirgefið þig.

Af hverju mistekst JS kóði í Android Chrome? Afhjúpað: Lausn með einum smelli!

Reyndar, þegar flestir forritarar sjá þetta fyrirbæri, er fyrsta viðbrögð þeirra: Er einhver villa í JS setningafræðinni? Er DOM ekki hlaðið inn? Eða er heimildin læst?

Niðurstaðan? Engin þeirra. Hinn raunverulegi sökudólgur reyndist vera þessi forna rit:

<script language="javascript">

Þessi kóðalína var vinsæl fyrir 20 árumótakmarkað, sem sjá má í öllum kennslumyndböndunum.

En Chromium útgáfa 119Eftir það sagði Google bless við þessa „fornmálfræði“: svo lengi sem þú sérð language Eiginleika, þá mun vafrinn hunsa þá valkvætt og ekki einu sinni nenna að útskýra þá.

Vegna samhæfni er Chrome á skjáborði enn að „sjá þetta tímabundið“; en Chrome á snjalltækjum með Android er „framvarðarliðið“ og virkjaði þessa hreinsunaraðferð strax.

Svo birtist það:Tölvan virkar fínt en farsíminn virkar ekkiVandamálið.

Hvers vegna tók Android fyrst til aðgerða?

Sumir gætu spurt: Af hverju er Android Chrome sett á markað fyrst?

Þetta er mjög einfalt, því uppfærsluhraði farsímans er hraðari og Google sendir upplýsingar jafn hratt og rauð umslög.

Í 2023 年 10 月 31 日Útgáfa Chrome 119 fyrir Android hefur verið að fullu birt í gegnum Google Play.

Þó að skjáborðsútgáfan noti einnig Chromium kjarnann er venja að „halda sér við efnið“ til að forðast að sprengja skyndilega fjölda innri fyrirtækjakerfa.

Svo ef þú notar enn orðasambandið „language=javascript„, á Android símum jafngildir þetta því að skrifa gegnsæjan kóða sem vafrinn hunsar beint.

Lausn: Kláraðu þetta á þremur sekúndum

Sem betur fer er lausnin á þessu vandamáli ótrúlega einföld. Skiptu bara út þessari línu:

<script>

Eða aðeins formlegri:

<script type="text/javascript">

Það tekur aðeins nokkrar sekúndur að breyta því og Android Chrome mun keyra það strax.

Munið, eftir breytingunaÞvinga uppfærslu skyndiminniAnnars gæti vafrinn enn verið að lesa gömlu skrána. Aðferðin er líka einföld:

  • Tölva: Ctrl + F5
  • Sími: Stillingar → Persónuvernd → Hreinsa skyndiminni

Þegar kóðinn hefur verið uppfærður er hann endurvakinn á nokkrum sekúndum og síðan byrjar að birtast aftur.

Þetta er í raun „uppgjör“

Í lokin er vandamálið að þessu sinni ekki vandamál JS sjálfs, heldurTímabil eldri kóða fyrir framhlið.

Það sem vafraframleiðendur þurfa að gera er mjög skýrt: smám saman hreinsa upp úrelta setningafræði og neyða forritara til að uppfæra.

Þetta er eins og þjóðvegur: þríhjól og dráttarvélar máttu aka hlið við hlið áður en nú þarf að keyra þau burt af öryggisástæðum. language="javascript" Þessi dráttarvél hefði ekki átt að vera á hraðbrautinni.

Hvað ættu verktaki að fylgjast með?

Þessi atburður er okkur mjög raunhæf áminning:

  1. Kóðunarstaðlar eru mjög mikilvægir Kóðinn sem þú heldur að „virki bara“ gæti hætt að virka í ákveðinni útgáfu.

  2. Prófunarumhverfið verður að halda í við hraðann Ekki bara smella og birta í Chrome í tölvunni þinni. Þú verður að athuga það í snjalltækjum og mismunandi útgáfum af vöfrum.

  3. Fylgstu með uppfærsluskrám vafra Í hvert skipti sem Chromium er uppfært eru margar „úreltingar og fjarlægingar“. Þetta eru ekki skreytingar, en þær munu eyðileggja viðskipti þín verulega.

Niðurstaða: Að baki kóðalínu leynist tækniþróun

Margir kvarta yfir því að Google sé „siðlaust“ en frá hærra sjónarhorni er þetta í raun óhjákvæmilegt ferli sem knýr allt vistkerfi vefsins áfram.

Að útrýma gömlum eiginleikum og neyða forritara til að fylgja stöðlum er endurtekning tæknilegrar siðmenningar.

Ef við höldum áfram að vera samhæfð allri úreltri setningafræði, þá mun framhliðin fyrr eða síðar verða að potti af niðurníddu hráefni.

Þess vegna, þegar við gerum við þessa litlu gryfju, erum við í raun að taka þátt í „hreinsunarhreyfingu tæknilegrar siðmenningar“.

Á næstu árum munu fleiri og fleiri svipaðar gryfjur koma upp og eina mótefnið er...Fylgstu með tímanum og tileinka þér staðla.

Lokasamantekt

  • Tölvur geta keyrt þetta en Android ekki, því... <script language="javascript"> Úrelt.
  • frá Chromium 119 Android Chrome tekur forystuna í að sleppa language Eiginleiki <script> 块.
  • Lausnin er: nota <script> Eða <script type="text/javascript">.
  • Eftir breytinguna skaltu endurnýja skyndiminnið og vandamálið mun lagast.
  • Forritarar ættu alltaf að fylgjast með uppfærslum á vöfrum og tileinka sér þann vana að skrifa kóða á stöðluðum hátt.

Svo næst þegar þú rekst á undarlega villu þar sem tölvan virkar fínt en síminn ekki, gætirðu alveg eins hugsað um þetta: Er einhver „minjar frá síðustu öld“ falin í kóðanum þínum?

发表 评论

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru notaðir * Merkimiði

Greinaskrá
Flettu að Top