Rakstu katalogs
- 1 Problēmas sakne: Ne jau tā, ka tu to uzrakstīji nepareizi, bet gan tā, ka laiki tevi ir pametuši.
- 2 Kāpēc Android rīkojās pirmais?
- 3 Risinājums: Paveiciet to trīs sekundēs
- 4 Tā faktiski ir "likvidācija".
- 5 Kam izstrādātājiem jāpievērš uzmanība?
- 6 Secinājums: Aiz koda rindiņas slēpjas tehnoloģiskā evolūcija
- 7 Galīgais kopsavilkums
Tu domāji, ka mājaslapa ir kārtībā un JS kods ir tikpat stabils kā vecs suns, bet, tiklīdz nomainīji mobilās pārlūkprogrammas versiju, lapa "streikoja"?
Pats nekaunīgākais ir tas, ka dators darbojas normāli,安卓Bet telefons tevi pilnībā ignorē.
Tas nav joks, tā ir pārlūkprogrammas problēma, kas nemanāmi notiek.
Problēmas sakne: Ne jau tā, ka tu to uzrakstīji nepareizi, bet gan tā, ka laiki tevi ir pametuši.

Patiesībā, kad lielākā daļa izstrādātāju redz šo parādību, viņu pirmā reakcija ir: Vai JS sintaksē ir kļūda? Vai DOM nav ielādēts? Vai atļauja ir bloķēta?
Rezultāts? Neviens no tiem. Īstais vaininieks izrādījās tas senais raksts:
<script language="javascript">
Šī koda rinda bija populāra pirms 20 gadiem.neierobežots, ko var redzēt visās pamācībās.
Bet iekšā Chromium 119. versijaPēc tam Google atvadījās no šīs "antīkās gramatikas": ja vien jūs redzat language Atribūtus pārlūkprogramma selektīvi ignorēs un pat neapgrūtinās tos izskaidrot.
Saderības apsvērumu dēļ Chrome galddatorā joprojām "pagaidām par to rūpējas", taču Chrome mobilajās Android ierīcēs ir "avangardā" un nekavējoties iespējoja šo tīrīšanas stratēģiju.
Tātad tas parādījās:Dators darbojas labi, bet mobilais tālrunis nedarbojasProblēma.
Kāpēc Android rīkojās pirmais?
Daži cilvēki varētu jautāt: kāpēc vispirms tiek palaista operētājsistēmai Android paredzēta pārlūkprogramma Chrome?
Tas ir ļoti vienkārši, jo mobilā termināļa jaunināšanas temps ir ātrāks, un Google nosūta informāciju tikpat ātri kā sarkano aploksņu sūtīšana.
在 2023 年 10 月 31 日, Chrome 119 Android versija ir pilnībā izlaista, izmantojot Google Play.
Lai gan arī darbvirsmas versijā tiek izmantots Chromium kodols, ir ierasts "turēt roku rokās", lai izvairītos no pēkšņas liela skaita iekšējo korporatīvo sistēmu uzspridzināšanas.
Tātad, ja jūs joprojām lietojat frāzi "language=javascript", Android tālruņos tas ir līdzvērtīgi caurspīdīga koda rakstīšanai, ko pārlūkprogramma tieši ignorē.
Risinājums: Paveiciet to trīs sekundēs
Par laimi, šīs problēmas risinājums ir neticami vienkāršs. Vienkārši nomainiet šo rindiņu:
<script>
Vai nedaudz formālāk:
<script type="text/javascript">
Tās modificēšana aizņem tikai dažas sekundes, un Android Chrome to nekavējoties izpildīs.
Atcerieties, ka pēc modifikācijasPiespiedu kārtā atsvaidzināt kešatmiņuPretējā gadījumā pārlūkprogramma joprojām var lasīt veco failu. Metode ir arī vienkārša:
- Dators: Ctrl + F5
- Tālrunis: Iestatījumi → Konfidencialitāte → Notīrīt kešatmiņu
Pēc atsvaidzināšanas kods tiek atdzīvināts dažu sekunžu laikā, un lapa atsāk darboties.
Tā faktiski ir "likvidācija".
Galu galā problēma šoreiz nav pašā JS, bet ganPriekšējās daļas mantojuma koda laikmets.
Pārlūkprogrammu ražotājiem ir ļoti skaidrs, kas jādara: pakāpeniski jāattīra novecojusī sintaksi un jāpiespiež izstrādātājus veikt atjauninājumus.
Tas ir kā automaģistrāle: iepriekš tricikliem un traktoriem bija atļauts braukt blakus, bet tagad drošības apsvērumu dēļ tie ir jāizdzen. language="javascript" Tam traktoram nevajadzēja atrasties ātrgaitas joslā.
Kam izstrādātājiem jāpievērš uzmanība?
Šis notikums mums kalpo kā ļoti reālistisks atgādinājums:
Kodēšanas standarti ir patiešām svarīgi Kods, kas, jūsuprāt, "vienkārši darbojas", noteiktā versijā var pārstāt darboties.
Testa videi ir jāspēj sekot līdzi tempam Nevajag vienkārši noklikšķināt un publicēt pārlūkprogrammā Chrome savā datorā. Tas ir jāpārbauda arī mobilajās ierīcēs un dažādās pārlūkprogrammu versijās.
Sekojiet pārlūkprogrammas atjauninājumu žurnāliem Katru reizi, kad Chromium tiek jaunināts, ir daudz "novecošanas un noņemšanas" ziņojumu. Tie nav nekādi rotājumi, bet gan jūsu biznesa sagraušana.
Secinājums: Aiz koda rindiņas slēpjas tehnoloģiskā evolūcija
Daudzi cilvēki sūdzas, ka Google ir "neētisks", taču no augstāka skatupunkta tas patiesībā ir neizbēgams process, kas virza visu tīmekļa ekosistēmu uz priekšu.
Vecu atribūtu likvidēšana un izstrādātāju piespiešana ievērot standartus ir tehnoloģiskās civilizācijas iterācija.
Ja mēs turpināsim būt saderīgi ar visu novecojušo sintaksi, priekšējā daļa agrāk vai vēlāk kļūs par nolaistu jucekli.
Tāpēc, kad mēs remontējam šo mazo bedri, mēs faktiski piedalāmies "tehnoloģiskās civilizācijas tīrīšanas kustībā".
Nākamajos dažos gados būs arvien vairāk līdzīgu kļūmju, un vienīgais pretlīdzeklis irSekojiet līdzi laikam un ievērojiet standartus.
Galīgais kopsavilkums
- Datori to var darbināt, bet Android nevar, jo
<script language="javascript">Novecojis. - 从 Chromium 119 Android Chrome ieņem vadošo pozīciju izlaišanas ziņā
languageAtribūts<script>块。 - Risinājums ir: izmantot
<script>Vai<script type="text/javascript">. - Pēc modifikācijas atsvaidziniet kešatmiņu, un problēma tiks atjaunota.
- Izstrādātājiem vienmēr jāpievērš uzmanība pārlūkprogrammas atjauninājumiem un jāattīsta ieradums rakstīt kodu standartizētā veidā.
Tātad, nākamreiz, kad saskarsieties ar dīvainu kļūdu, kad dators darbojas labi, bet tālrunis nedarbojas, varētu padomāt par to: vai jūsu kodā ir paslēpta "pagājušā gadsimta relikvija"?
Hope Chen Weiliang emuārs ( https://www.chenweiliang.com/ ) kopīgoja rakstu "Kāpēc JS kods neizdodas pārlūkprogrammā Android Chrome? Tiek atklāts neizpildes iemesls un risinājums ar vienu klikšķi!", kas jums varētu būt noderīgs.
Laipni lūdzam kopīgot šī raksta saiti:https://www.chenweiliang.com/cwl-33236.html
