Каталог статей
- 1 Корінь проблеми: справа не в тому, що ти неправильно написав, а в тому, що час тебе покинув.
- 2 Чому Android вжив заходів першим?
- 3 Рішення: Зробіть це за три секунди
- 4 Це фактично «ліквідація»
- 5 На що варто звернути увагу розробникам?
- 6 Висновок: За рядком коду стоїть технологічна еволюція
- 7 Підсумковий підсумок
Ви думали, що вебсайт непоганий, а JS-код стабільний, як старий пес, але щойно ви змінили версію мобільного браузера, сторінка "застрайкувала"?
Найнеймовірніше те, що комп'ютер працює нормально,AndroidАле телефон вас повністю ігнорує.
Це не жарт, це проблема з браузером, яка непомітно виникає.
Корінь проблеми: справа не в тому, що ти неправильно написав, а в тому, що час тебе покинув.

Фактично, коли більшість розробників бачать це явище, їхня перша реакція: чи є помилка в синтаксисі JS? Чи не завантажено DOM? Чи заблоковано дозвіл?
Результат? Жодного. Справжнім винуватцем виявився той стародавній текст:
<script language="javascript">
Цей рядок коду був популярним 20 років томунеобмежений, що можна побачити у всіх навчальних посібниках.
Але в Версія Хрому 119Після цього Google попрощався з цією «антикварною граматикою»: головне, щоб ви бачили language Атрибути, браузер вибірково ігноруватиме їх і навіть не потрудиться їх пояснити.
З міркувань сумісності Chrome на комп’ютері все ще «тимчасово цим займається»; але Chrome на мобільних пристроях Android є «авангардом» і одразу ж активував цю стратегію очищення.
Отже, воно з'явилося:Комп'ютер працює добре, але мобільний телефон не працюєПроблема.
Чому Android вжив заходів першим?
Дехто може запитати: чому Android Chrome запускається першим?
Це дуже просто, адже темпи оновлення мобільного терміналу швидші, а Google надсилає інформацію так само швидко, як і червоні конверти.
在 2023 年 10 月 31 日Версія Chrome 119 для Android повністю завантажена через Google Play.
Хоча десктопна версія також використовує ядро Chromium, прийнято "триматися під контролем", щоб уникнути раптового виходу з ладу великої кількості внутрішніх корпоративних систем.
Отже, якщо ви все ще використовуєте фразу «language=javascript«, на телефонах Android це еквівалентно написанню прозорого коду, який браузер безпосередньо ігнорує.
Рішення: Зробіть це за три секунди
На щастя, вирішення цієї проблеми неймовірно просте. Просто замініть цей рядок:
<script>
Або трохи більш формально:
<script type="text/javascript">
Зміна займає лише кілька секунд, і Android Chrome негайно виконає її.
Пам’ятайте, після модифікаціїПримусове оновлення кешуВ іншому випадку браузер може все ще читати старий файл. Метод також простий:
- Комп'ютер: Ctrl + F5
- Телефон: Налаштування → Конфіденційність → Очистити кеш
Після оновлення код відновлюється за лічені секунди, і сторінка знову починає працювати.
Це фактично «ліквідація»
Зрештою, проблема цього разу не в самому JS, а вЕра застарілого фронтенд-коду.
Що потрібно зробити виробникам браузерів, дуже зрозуміло: поступово виправляти застарілий синтаксис і змушувати розробників оновлюватися.
Це як автомагістраль: раніше триколісним велосипедам і тракторам дозволялося їздити поруч, але тепер з міркувань безпеки їх доводиться виганяти. language="javascript" Той трактор не повинен був бути на швидкісній смузі.
На що варто звернути увагу розробникам?
Цей інцидент служить нам дуже реалістичним нагадуванням:
Стандарти кодування справді важливі Код, який, на вашу думку, «просто працює», може перестати працювати в певній версії.
Тестове середовище має йти в ногу з темпом Не просто клацайте та публікуйте у Chrome на своєму комп’ютері. Вам потрібно перевірити це на мобільних пристроях та в різних версіях браузерів.
Слідкуйте за журналами оновлень браузера Щоразу, коли Chromium оновлюється, з'являється багато "вилучень та видалень". Це не прикраси, але вони справді вб'ють ваш бізнес.
Висновок: За рядком коду стоїть технологічна еволюція
Багато людей скаржаться, що Google діє «неетично», але з вищої точки зору, це насправді неминучий процес, який рухає вперед усю веб-екосистему.
Виключення старих атрибутів та примушення розробників дотримуватися стандартів – це ітерація технологічної цивілізації.
Якщо ми й надалі будемо сумісними з усім застарілим синтаксисом, то фронтенд рано чи пізно перетвориться на горщик старої мішанини.
Тому, коли ми ремонтуємо цю невелику яму, ми фактично беремо участь у «очисному русі технологічної цивілізації».
У наступні кілька років подібних пасток буде дедалі більше, і єдиною протиотрутою будеЙдіть у ногу з часом та дотримуйтесь стандартів.
Підсумковий підсумок
- Комп'ютери можуть його запускати, але Android — ні, тому що
<script language="javascript">Застаріло. - 从 Chromium 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
Щоб розкрити більше прихованих хитрощів🔑, приєднуйтесь до нашого Telegram-каналу!
Поділіться та поставте лайк, якщо вам подобається! Ваші розповсюдження та вподобання — наша постійна мотивація!