Artikkelihakemisto
- 1 Ongelman ydin: Ei ole kyse siitä, että kirjoitit sen väärin, vaan siitä, että ajat ovat hylänneet sinut.
- 2 Miksi Android ryhtyi toimiin ensin?
- 3 Ratkaisu: Tee se kolmessa sekunnissa
- 4 Tämä on itse asiassa "likvidaatio".
- 5 Mihin kehittäjien tulisi kiinnittää huomiota?
- 6 Johtopäätös: Koodirivin takana on teknologinen kehitys
- 7 Lopullinen yhteenveto
Luulit verkkosivuston olevan ihan hyvä ja JS-koodin vakaan kuin vanha koira, mutta heti kun vaihdoit mobiiliselaimen versiota, sivu "lakkosi"?
Pahinta on, että tietokone toimii normaalisti.AndrewsMutta puhelin jättää sinut täysin huomiotta.
Tämä ei ole vitsi, vaan selainongelma, joka on jatkunut hiljaa.
Ongelman ydin: Ei ole kyse siitä, että kirjoitit sen väärin, vaan siitä, että ajat ovat hylänneet sinut.

Itse asiassa, kun useimmat kehittäjät näkevät tämän ilmiön, heidän ensimmäinen reaktionsa on: Onko JS-syntaksissa virhe? Eikö DOM ole latautunut? Vai onko käyttöoikeus estetty?
Tulos? Ei kumpikaan. Todellinen syyllinen osoittautui tuoksi muinaiseksi kirjoitukseksi:
<script language="javascript">
Tämä koodirivi oli suosittu 20 vuotta sittenrajoittamaton, joka näkyy kaikissa tutoriaaleissa.
但在 Chromium-versio 119Sen jälkeen Google sanoi hyvästit tälle "antiikkiselle kieliopille": kunhan näet language Määritteet, selain jättää ne valikoivasti huomiotta eikä edes vaivaudu selittämään niitä.
Yhteensopivuussyistä Chrome työpöytäversiossa "hoitaa asian väliaikaisesti", mutta Chrome mobiililaitteilla Androidilla on "eturintamassa" ja otti tämän puhdistusstrategian välittömästi käyttöön.
Niinpä se ilmestyi:Tietokone toimii hyvin, mutta kännykkä ei toimiOngelma.
Miksi Android ryhtyi toimiin ensin?
Jotkut saattavat kysyä: Miksi Android Chrome julkaistiin ensimmäisenä?
Se on hyvin yksinkertaista, koska mobiilipäätelaitteen päivitysvauhti on nopeampi ja Google lähettää tietoa yhtä nopeasti kuin punaisia kirjekuoria.
在 2023 年 10 月 31 日Chrome 119 Android -versio on julkaistu kokonaan Google Playn kautta.
Vaikka työpöytäversio käyttää myös Chromium-ydintä, on tapana "pitää kädet käsissä", jotta vältetään suuren määrän sisäisten yrityksen järjestelmien äkillinen räjäyttäminen.
Jos siis edelleen käytät ilmausta "language=javascript", Android-puhelimissa se vastaa läpinäkyvän koodin kirjoittamista, jonka selain jättää suoraan huomiotta.
Ratkaisu: Tee se kolmessa sekunnissa
Onneksi tämän ongelman korjaus on uskomattoman yksinkertainen. Korvaa vain tämä rivi:
<script>
Tai hieman virallisemmin:
<script type="text/javascript">
Sen muokkaaminen vie vain muutaman sekunnin, ja Android Chrome suorittaa sen välittömästi.
Muista, että muutoksen jälkeenPakota välimuistin päivitysMuussa tapauksessa selain saattaa edelleen lukea vanhaa tiedostoa. Menetelmä on myös yksinkertainen:
- Tietokone: Ctrl + F5
- Puhelin: Asetukset → Tietosuoja → Tyhjennä välimuisti
Päivityksen jälkeen koodi herää henkiin muutamassa sekunnissa ja sivu alkaa toimia uudelleen.
Tämä on itse asiassa "likvidaatio".
Viime kädessä ongelma ei tällä kertaa ole JS:n itsensä ongelma, vaanKäyttöliittymän vanhan koodin aikakausi.
Selainvalmistajien on tehtävä hyvin selkeästi: vähitellen siivottava vanhentunutta syntaksia ja pakotettava kehittäjät päivittämään.
Se on kuin moottoritie: kolmipyöräiset ja traktorit saivat aiemmin ajaa rinnakkain, mutta nyt ne on turvallisuussyistä ajettava pois. language="javascript" Sen traktorin ei olisi pitänyt olla ohituskaistalla.
Mihin kehittäjien tulisi kiinnittää huomiota?
Tämä tapaus toimii meille hyvin realistisena muistutuksena:
Koodausstandardit ovat todella tärkeitä Koodi, jonka luulet "vain toimivan", saattaa lakata toimimasta tietyssä versiossa.
Testiympäristön on pysyttävä vauhdissa mukana Älä vain klikkaa ja julkaise Chromessa tietokoneellasi. Sinun on tarkistettava se mobiililaitteilla ja eri selainversioilla.
Seuraa selaimen päivityslokeja Joka kerta, kun Chromiumia päivitetään, siihen liittyy paljon "vanhentumisia ja poistoja". Nämä eivät ole koristeita, mutta ne todellakin tuhoavat liiketoimintasi.
Johtopäätös: Koodirivin takana on teknologinen kehitys
Monet ihmiset valittavat, että Google on "epäeettinen", mutta korkeammasta näkökulmasta tämä on itse asiassa väistämätön prosessi, joka vie koko verkkoekosysteemiä eteenpäin.
Vanhojen ominaisuuksien poistaminen ja kehittäjien pakottaminen standardien noudattamiseen on teknologisen sivilisaation iteraatio.
Jos jatkamme yhteensopivuutta vanhentuneen syntaksin kanssa, käyttöliittymästä tulee ennemmin tai myöhemmin ränsistynyttä sekamelskaa.
Siksi, kun korjaamme tämän pienen kuopan, osallistumme itse asiassa "teknologisen sivilisaation puhdistusliikkeeseen".
Seuraavien vuosien aikana tulee olemaan yhä enemmän samanlaisia sudenkuoppia, ja ainoa vastalääke onPysy ajan tasalla ja omaksu standardit.
Lopullinen yhteenveto
- Tietokoneet voivat käyttää sitä, mutta Android ei, koska
<script language="javascript">Vanhentunut. - Mistä Kromi 119 Android Chrome johtaa ohittamista
languageOminaisuus<script>块. - Ratkaisu on: käytä
<script>或<script type="text/javascript">. - Muokkauksen jälkeen päivitä välimuisti, niin ongelma korjaantuu.
- Kehittäjien tulisi aina kiinnittää huomiota selainpäivityksiin ja kehittää tapa kirjoittaa koodi standardoidulla tavalla.
Joten seuraavan kerran, kun kohtaat oudon bugin, jossa tietokone toimii hyvin, mutta puhelin ei, kannattaa miettiä tätä: Onko koodissasi piilotettu "viime vuosisadan jäänne"?
Hope Chen Weiliang -blogi ( https://www.chenweiliang.com/ ) jakoi artikkelin "Miksi JS-koodi epäonnistuu Android Chromessa? Syy epäonnistumiseen paljastetaan ja ratkaisu yhdellä napsautuksella! ", josta voi olla sinulle hyötyä.
Tervetuloa jakamaan tämän artikkelin linkki:https://www.chenweiliang.com/cwl-33236.html
