Katalog artykułów
- 1 Sedno problemu: nie chodzi o to, że napisałeś to źle, ale o to, że czasy cię opuściły
- 2 Dlaczego Android podjął działania jako pierwszy?
- 3 Rozwiązanie: Zrób to w trzy sekundy
- 4 To jest właściwie „likwidacja”
- 5 Na co powinni zwrócić uwagę deweloperzy?
- 6 Wnioski: Za linią kodu kryje się ewolucja technologiczna
- 7 Podsumowanie końcowe
Myślałeś, że strona internetowa jest w porządku, a kod JS stabilny jak stary pies, ale gdy tylko zmieniłeś wersję przeglądarki mobilnej, strona „zastrajkowała”?
Najbardziej oburzające jest to, że komputer działa normalnie,AndroidAle telefon zupełnie Cię ignoruje.
To nie żart. To problem z przeglądarką, który pojawiał się po cichu.
Sedno problemu: nie chodzi o to, że napisałeś to źle, ale o to, że czasy cię opuściły

W rzeczywistości, gdy większość programistów widzi to zjawisko, ich pierwszą reakcją jest: Czy jest błąd w składni JS? Czy DOM nie jest załadowany? A może uprawnienia są zablokowane?
Rezultat? Żaden. Prawdziwym winowajcą okazał się ten starożytny napis:
<script language="javascript">
Ta linia kodu była popularna 20 lat temu无限, co można zobaczyć we wszystkich samouczkach.
Wepchnąć się Wersja Chromium 119Po tym Google pożegnało się z tą „starożytną gramatyką”: dopóki widzisz language Przeglądarka będzie selektywnie ignorować atrybuty i nie będzie nawet zawracać sobie głowy ich wyjaśnianiem.
Ze względów zgodności przeglądarka Chrome na komputerach stacjonarnych nadal „tymczasowo się tym zajmuje”, ale przeglądarka Chrome na urządzeniach mobilnych z systemem Android jest „awangardą” i natychmiast włączyła tę strategię czyszczenia.
Tak więc wyszło:Komputer działa dobrze, ale telefon komórkowy nie działaProblem.
Dlaczego Android podjął działania jako pierwszy?
Niektórzy mogą zapytać: Dlaczego Android Chrome został wydany jako pierwszy?
To bardzo proste, ponieważ tempo aktualizacji terminali mobilnych jest szybsze, a Google przesyła informacje tak szybko, jak wysyła się czerwone koperty.
在 2023 年 10 月 31 日Wersja przeglądarki Chrome 119 na Androida została w pełni udostępniona w Google Play.
Mimo że wersja na komputery stacjonarne również korzysta z jądra Chromium, przyjęto zasadę „trzymania ręki na wodzy”, aby nie dopuścić do nagłego uszkodzenia dużej liczby wewnętrznych systemów korporacyjnych.
Jeśli więc nadal używasz zwrotu „language=javascript„, na telefonach z systemem Android jest to równoznaczne z napisaniem przezroczystego kodu, który przeglądarka bezpośrednio ignoruje.
Rozwiązanie: Zrób to w trzy sekundy
Na szczęście rozwiązanie tego problemu jest niezwykle proste. Wystarczy zastąpić ten wiersz:
<script>
Albo trochę bardziej formalnie:
<script type="text/javascript">
Modyfikacja zajmie tylko kilka sekund, a przeglądarka Android Chrome natychmiast ją uruchomi.
Pamiętaj, po modyfikacjiWymuś odświeżenie pamięci podręcznejW przeciwnym razie przeglądarka może nadal odczytywać stary plik. Metoda jest również prosta:
- Komputer: Ctrl + F5
- Telefon: Ustawienia → Prywatność → Wyczyść pamięć podręczną
Po odświeżeniu kod zostaje w ciągu kilku sekund przywrócony, a strona zaczyna działać ponownie.
To jest właściwie „likwidacja”
Ostatecznie tym razem problemem nie jest sam JS, aleEra starszego kodu front-end.
To, co muszą zrobić producenci przeglądarek, jest jasne: stopniowo oczyszczać przestarzałą składnię i zmuszać programistów do aktualizacji.
To jak autostrada: kiedyś trójkołowce i traktory mogły jeździć obok siebie, ale teraz ze względów bezpieczeństwa trzeba je wyprowadzić. language="javascript" Ten traktor nie powinien znajdować się na pasie szybkiego ruchu.
Na co powinni zwrócić uwagę deweloperzy?
To zdarzenie jest dla nas bardzo realistycznym przypomnieniem:
Standardy kodowania są naprawdę ważne Kod, który Twoim zdaniem „po prostu działa”, może przestać działać w określonej wersji.
Środowisko testowe musi nadążać za tempem Nie klikaj i nie publikuj po prostu w Chrome na komputerze. Musisz to sprawdzić na urządzeniach mobilnych i w różnych wersjach przeglądarek.
Śledź dzienniki aktualizacji przeglądarki Za każdym razem, gdy Chromium jest aktualizowany, pojawia się mnóstwo „wycofań i usunięć”. To nie są dekoracje, ale mogą naprawdę zaszkodzić Twojemu biznesowi.
Wnioski: Za linią kodu kryje się ewolucja technologiczna
Wiele osób narzeka, że Google postępuje „nieetycznie”, ale patrząc z szerszej perspektywy, jest to nieunikniony proces, który napędza rozwój całego ekosystemu sieci Web.
Eliminowanie starych atrybutów i zmuszanie programistów do przestrzegania standardów jest iteracją cywilizacji technologicznej.
Jeśli nadal będziemy trzymać się przestarzałej składni, prędzej czy później front-end stanie się garnkiem rozpadającej się mieszaniny.
Dlatego też, kiedy naprawiamy tę małą dziurę, tak naprawdę bierzemy udział w „ruchu oczyszczania cywilizacji technologicznej”.
W ciągu najbliższych kilku lat podobnych pułapek będzie coraz więcej, a jedynym antidotum jestPodążaj za czasami i dostosuj się do standardów.
Podsumowanie końcowe
- Komputery mogą go uruchomić, ale Android nie, ponieważ
<script language="javascript">Przestarzałe. - 从 Chromium 119 Android Chrome przoduje w pomijaniu
languageAtrybut<script>sztuka. - Rozwiązaniem jest: użyj
<script>或<script type="text/javascript">. - Po wprowadzeniu modyfikacji odśwież pamięć podręczną, a problem powróci.
- Programiści powinni zawsze zwracać uwagę na aktualizacje przeglądarek i wyrobić sobie nawyk pisania kodu w sposób ustandaryzowany.
Więc następnym razem, gdy natkniesz się na dziwny błąd, przez który komputer działa poprawnie, ale telefon nie, możesz pomyśleć o tym: czy w Twoim kodzie nie kryje się jakiś „pozostałość z ubiegłego wieku”?
Nadzieja Chen Weiliang Blog ( https://www.chenweiliang.com/ ) udostępnił artykuł „Dlaczego kod JS nie uruchamia się w przeglądarce Android Chrome? Wyjaśniono przyczynę braku wykonania i podano rozwiązanie jednym kliknięciem!”, który może okazać się pomocny.
Zapraszamy do udostępnienia linku do tego artykułu:https://www.chenweiliang.com/cwl-33236.html
Aby odblokować więcej ukrytych sztuczek🔑, zapraszamy do dołączenia do naszego kanału Telegram!
Udostępnij i polub jeśli Ci się podoba! Twoje udostępnienia i polubienia są naszą ciągłą motywacją!