Директориум за статии
- 1 Коренот на проблемот: Не е тоа што си го напишал погрешно, туку тоа што времето те напуштило
- 2 Зошто Андроид прв презеде акција?
- 3 Решение: Завршете го за три секунди
- 4 Всушност, ова е „ликвидација“.
- 5 На што треба да обрнат внимание програмерите?
- 6 Заклучок: Зад линијата код се крие технолошка еволуција
- 7 Конечно резиме
Мислевте дека веб-страницата е во ред и дека JS кодот е стабилен како старо куче, но штом ја смените верзијата на мобилниот прелистувач, страницата „запре“?
Најскандалозното е: компјутерот работи нормално,АндроидНо, телефонот целосно те игнорира.
Ова не е шега, тоа е проблем со прелистувачот што се случува тивко.
Коренот на проблемот: Не е тоа што си го напишал погрешно, туку тоа што времето те напуштило

Всушност, кога повеќето програмери ќе го забележат овој феномен, нивната прва реакција е: Дали има грешка во JS синтаксата? Дали DOM не е вчитан? Или дозволата е блокирана?
Резултатот? Ниеден од нив. Вистинскиот виновник се покажа дека е тој древен напис:
<script language="javascript">
Оваа линија код беше популарна пред 20 годининеограничен, што може да се види во сите упатства.
Но Верзија 119 на ChromiumПосле тоа, Google се збогува со оваа „античка граматика“: сè додека гледате language Атрибутите, прелистувачот селективно ќе ги игнорира и дури нема да се потруди да ги објасни.
Од причини поврзани со компатибилност, Chrome на десктоп компјутери сè уште „привремено се грижи за тоа“; но Chrome на мобилен Android е „авангарда“ и веднаш ја овозможи оваа стратегија за чистење.
Значи, се појави:Компјутерот работи добро, но мобилниот телефон не работиПроблемот.
Зошто Андроид прв презеде акција?
Некои луѓе може да прашаат: Зошто Android Chrome е лансиран прв?
Многу е едноставно, бидејќи темпото на надградба на мобилниот терминал е побрзо, а Google ги испраќа информациите со иста брзина како испраќањето црвени пликови.
在 2023 10 年 月 日 31, Верзијата 119 за Android на Chrome е целосно објавена преку Google Play.
Иако десктоп верзијата го користи и јадрото на Chromium, вообичаено е да се „држи рака“ за да се избегне ненадејно уништување на голем број внатрешни корпоративни системи.
Значи, ако сè уште ја користите фразата „language=javascript„На Android телефоните тоа е еквивалентно на пишување транспарентен код, кој прелистувачот директно го игнорира.“
Решение: Завршете го за три секунди
За среќа, решението за овој проблем е неверојатно едноставно. Само заменете ја оваа линија:
<script>
Или малку поформално:
<script type="text/javascript">
Потребни се само неколку секунди за да се измени, а Android Chrome веднаш ќе го изврши.
Запомнете, по изменатаПрисилно освежување на кешотВо спротивно, прелистувачот може сè уште да ја чита старата датотека. Методот е исто така едноставен:
- Компјутер: Ctrl + F5
- Телефон: Поставки → Приватност → Исчисти кеш меморија
Откако ќе се освежи, кодот се обновува за неколку секунди и страницата повторно почнува да работи.
Всушност, ова е „ликвидација“.
На крајот на краиштата, проблемот овој пат не е проблемот на самиот JS, тукуЕрата на наследен код од front-end.
Она што производителите на прелистувачи треба да го направат е многу јасно: постепено да ја чистат застарената синтакса и да ги принудат програмерите да ажурираат.
Како автопат е: трициклите и тракторите порано смееја да се движат еден до друг, но сега од безбедносни причини мора да се истиснат. language="javascript" Тој трактор не требаше да биде на брзата лента.
На што треба да обрнат внимание програмерите?
Овој инцидент ни служи како многу реалистичен потсетник:
Стандардите за кодирање се навистина важни Кодот за кој мислите дека „едноставно работи“ може да престане да работи во одредена верзија.
Тест-окружувањето мора да биде во чекор со темпото Немојте само да кликнете и да објавувате во Chrome на вашиот компјутер. Мора да го проверите тоа на мобилни уреди и различни верзии на прелистувачи.
Следете ги дневниците за ажурирање на прелистувачот Секој пат кога Chromium се надградува, има многу „застарени и отстранети работи“. Ова не се декорации, но навистина ќе ви го уништат бизнисот.
Заклучок: Зад линијата код се крие технолошка еволуција
Многу луѓе се жалат дека Google е „неетички“, но од повисока перспектива, ова е всушност неизбежен процес што го движи целиот веб-екосистем напред.
Елиминирањето на старите атрибути и принудувањето на програмерите да ги следат стандардите е итерација на технолошката цивилизација.
Ако продолжиме да бидеме компатибилни со целата застарена синтакса, предниот дел порано или подоцна ќе стане кофа со дотраена мешавина од работи.
Затоа, кога ја поправаме оваа мала јама, всушност учествуваме во „движење за чистење на технолошката цивилизација“.
Во следните неколку години, ќе има сè повеќе и повеќе слични стапици, а единствениот противотров еБидете во чекор со времето и прифатете ги стандардите.
Конечно резиме
- Компјутерите можат да го стартуваат, но Андроид не може, бидејќи
<script language="javascript">Застарено. - Од Хром 119 Android Chrome е водечка во прескокнувањето
languageАтрибут<script>块. - Решението е: користете
<script>Или<script type="text/javascript">. - По модификацијата, освежете ја кешот и проблемот ќе биде решен.
- Програмерите секогаш треба да обрнуваат внимание на ажурирањата на прелистувачот и да развијат навика за пишување код на стандардизиран начин.
Значи, следниот пат кога ќе наидете на чуден баг каде што компјутерот работи добро, но телефонот не, можеби е подобро да размислите за ова: Дали во вашиот код е скриена „реликвија од минатиот век“?
Блог на Hope Chen Weiliang ( https://www.chenweiliang.com/ ) сподели „Зошто JS кодот не успева во Android Chrome? Причината за неизвршување е откриена и решение со еден клик!“, што може да ви биде од помош.
Добредојдовте да ја споделите врската од оваа статија:https://www.chenweiliang.com/cwl-33236.html
