Artikelgids
- 1 Die wortel van die probleem: Dis nie dat jy dit verkeerd geskryf het nie, maar dat die tye jou verlaat het.
- 2 Waarom het Android eerste opgetree?
- 3 Oplossing: Kry dit binne drie sekondes klaar
- 4 Dit is eintlik 'n "likwidasie"
- 5 Waarop moet ontwikkelaars let?
- 6 Gevolgtrekking: Agter 'n reël kode is tegnologiese evolusie
- 7 Finale opsomming
Jy het gedink die webwerf was goed en die JS-kode was so stabiel soos 'n ou hond, maar sodra jy die mobiele blaaierweergawe verander het, het die bladsy "gestaak"?
Die mees buitensporige ding is: die rekenaar loop normaalweg,AndrewsMaar die foon ignoreer jou heeltemal.
Dit is geen grap nie, dit is 'n blaaierprobleem wat stilweg gebeur het.
Die wortel van die probleem: Dis nie dat jy dit verkeerd geskryf het nie, maar dat die tye jou verlaat het.

Trouens, wanneer die meeste ontwikkelaars hierdie verskynsel sien, is hul eerste reaksie: Is daar 'n fout in die JS-sintaksis? Is die DOM nie gelaai nie? Of is die toestemming geblokkeer?
Die resultaat? Geen van hulle nie. Die eintlike skuldige was daardie antieke geskrif:
<script language="javascript">
Hierdie kodelyn was 20 jaar gelede gewildonbeperk, wat in alle tutoriale gesien kan word.
Maar in Chromium weergawe 119Daarna het Google totsiens gesê aan hierdie "antieke grammatika": solank jy sien language Eienskappe, sal die blaaier hulle selektief ignoreer en nie eers die moeite doen om hulle te verduidelik nie.
Om versoenbaarheidsredes "sorg Chrome op rekenaar steeds tydelik daarvoor"; maar Chrome op mobiele Android is die "voorhoede" en het hierdie skoonmaakstrategie onmiddellik geaktiveer.
So het dit geblyk:Rekenaar werk goed, maar selfoon werk nieDie probleem.
Waarom het Android eerste opgetree?
Sommige mense vra dalk: Waarom word Android Chrome eerste bekendgestel?
Dit is baie eenvoudig, want die opgraderingstempo van die mobiele terminaal is vinniger, en Google stuur inligting so vinnig soos rooi koeverte.
在 2023 年 10 月 31 日Chrome 119 Android-weergawe is volledig deur Google Play gepubliseer.
Alhoewel die rekenaarweergawe ook die Chromium-kern gebruik, is dit gebruiklik om "hand te hou" om te verhoed dat 'n groot aantal interne korporatiewe stelsels skielik opblaas.
So, as jy steeds die frase "gebruik"language=javascript", op Android-fone is dit gelykstaande aan die skryf van 'n deursigtige kode, wat die blaaier direk ignoreer.
Oplossing: Kry dit binne drie sekondes klaar
Gelukkig is die oplossing vir hierdie probleem ongelooflik eenvoudig. Vervang net hierdie lyn:
<script>
Of 'n bietjie meer formeel:
<script type="text/javascript">
Dit neem slegs 'n paar sekondes om dit te wysig, en Android Chrome sal dit onmiddellik uitvoer.
Onthou, na die wysigingForseer verversing van kasgeheueAndersins lees die blaaier dalk steeds die ou lêer. Die metode is ook eenvoudig:
- Rekenaar: Ctrl + F5
- Foon: Instellings → Privaatheid → Vee kas uit
Sodra dit verfris is, word die kode binne sekondes herleef en die bladsy begin weer loop.
Dit is eintlik 'n "likwidasie"
Uiteindelik is die probleem hierdie keer nie die probleem van JS self nie, maarDie era van voorste-end nalatenskapkode.
Wat blaaiervervaardigers moet doen, is baie duidelik: maak die verouderde sintaksis geleidelik skoon en dwing ontwikkelaars om op te dateer.
Dis soos ’n snelweg: driewiele en trekkers is voorheen toegelaat om langs mekaar te ry, maar nou moet hulle om veiligheidsredes uitgery word. language="javascript" Daardie trekker moes nie op die vinnige baan gewees het nie.
Waarop moet ontwikkelaars let?
Hierdie voorval dien as 'n baie realistiese herinnering vir ons:
Koderingsstandaarde is regtig belangrik Die kode wat jy dink "net werk" mag dalk ophou werk in 'n sekere weergawe.
Die toetsomgewing moet tred hou met die tempo Moenie net in Chrome op jou rekenaar klik en publiseer nie. Jy moet dit op mobiele toestelle en verskillende weergawes van blaaiers nagaan.
Volg blaaieropdateringslogboeke Elke keer as Chromium opgegradeer word, is daar baie "Deprecation and Removal". Dit is nie versierings nie, maar sal jou besigheid regtig vernietig.
Gevolgtrekking: Agter 'n reël kode is tegnologiese evolusie
Baie mense kla dat Google "oneties" is, maar vanuit 'n hoër perspektief is dit eintlik 'n onvermydelike proses wat die hele web-ekosisteem vorentoe dryf.
Die uitskakeling van ou eienskappe en die dwing van ontwikkelaars om standaarde te volg, is die iterasie van tegnologiese beskawing.
As ons steeds versoenbaar bly met alle verouderde sintaksis, sal die voorkant vroeër of later 'n pot vervalle mengelmoes word.
Daarom, wanneer ons hierdie klein putjie herstel, neem ons eintlik deel aan 'n "skoonmaakbeweging van tegnologiese beskawing."
In die volgende paar jaar sal daar al hoe meer soortgelyke slaggate wees, en die enigste teenmiddel isHou tred met die tye en omarm standaarde.
Finale opsomming
- Rekenaars kan dit laat loop, maar Android nie, want
<script language="javascript">Verouderd. - van Chromium 119 Android Chrome neem die voortou in die oorslaan
languageAttribuut<script>stuk. - Die oplossing is: gebruik
<script>或<script type="text/javascript">. - Na wysiging, verfris die kasgeheue en die probleem sal herstel word.
- Ontwikkelaars moet altyd aandag gee aan blaaieropdaterings en die gewoonte ontwikkel om kode op 'n gestandaardiseerde wyse te skryf.
So, volgende keer as jy 'n vreemde fout teëkom waar die rekenaar goed werk, maar die foon nie werk nie, kan jy net sowel hieroor dink: Is daar 'n "oorblyfsel uit die vorige eeu" in jou kode versteek?
Hoop Chen Weiliang Blog ( https://www.chenweiliang.com/ ) gedeel "Waarom misluk JS-kode in Android Chrome? Die rede vir nie-uitvoering word onthul en 'n een-klik-oplossing! ", wat dalk vir jou nuttig kan wees.
Welkom om die skakel van hierdie artikel te deel:https://www.chenweiliang.com/cwl-33236.html
