기사 디렉토리
웹사이트는 괜찮고 JS 코드도 늙은 개처럼 안정적이라고 생각했는데, 모바일 브라우저 버전을 바꾸자마자 페이지가 "파업"에 돌입했다는 건가요?
가장 놀라운 것은 컴퓨터가 정상적으로 작동한다는 것입니다.기계적 인조 인간하지만 전화는 당신을 전혀 무시합니다.
이건 농담이 아닙니다. 조용히 발생하고 있는 브라우저 문제입니다.
문제의 근원은 당신이 잘못 쓴 것이 아니라 시대가 당신을 버렸다는 것입니다.

실제로 대부분의 개발자가 이러한 현상을 접하면 가장 먼저 하는 반응은 다음과 같습니다. JS 구문에 버그가 있는 걸까? DOM이 로드되지 않은 걸까? 아니면 권한이 차단된 걸까?
결과는? 아무것도 없었다. 진짜 범인은 고대 문자로 밝혀졌다.
<script language="javascript">
이 코드 줄은 20년 전에 유행했습니다.无限모든 튜토리얼에서 볼 수 있습니다.
但在 크롬 버전 119그 후로 구글은 이 "고대 문법"에 작별 인사를 했습니다. language 속성을 브라우저는 선택적으로 무시하고 설명하려고 하지도 않습니다.
호환성 문제로 인해 데스크톱용 Chrome에서는 아직 "일시적으로 처리" 중이지만, 모바일 Android용 Chrome은 "선두주자"로서 이 정리 전략을 즉시 활성화했습니다.
그래서 그것은 나타났습니다:컴퓨터는 잘 작동하지만 휴대폰은 작동하지 않습니다.문제.
안드로이드가 먼저 조치를 취한 이유는 무엇일까?
어떤 사람들은 이렇게 질문할 수도 있습니다: 안드로이드 크롬이 먼저 출시된 이유는 무엇일까요?
매우 간단합니다. 모바일 단말기의 업그레이드 속도가 빠르고, 구글이 빨간 봉투를 보내는 것만큼 빠르게 정보를 푸시하기 때문입니다.
在 2023년 10월 31일, Chrome 119 Android 버전이 Google Play를 통해 완전히 푸시되었습니다.
데스크톱 버전도 크로미엄 커널을 사용하지만, 갑자기 많은 수의 기업 내부 시스템이 폭발하는 것을 방지하기 위해 "조심하는" 것이 일반적입니다.
그래서, 아직도 "라는 문구를 사용하고 있다면language=javascript", 안드로이드 폰에서는 브라우저가 직접 무시하는 투명한 코드를 작성하는 것과 같습니다.
해결책: 3초 안에 끝내세요
다행히 이 문제를 해결하는 방법은 매우 간단합니다. 다음 줄을 다음과 같이 바꾸세요.
<script>
또는 조금 더 공식적으로 말하면:
<script type="text/javascript">
수정하는 데 몇 초밖에 걸리지 않으며, Android Chrome에서 즉시 실행됩니다.
수정 후에는 기억하세요캐시 강제 새로 고침그렇지 않으면 브라우저가 여전히 이전 파일을 읽고 있을 수 있습니다. 방법도 간단합니다.
- 컴퓨터: Ctrl + F5
- 휴대전화: 설정 → 개인정보 보호 → 캐시 지우기
새로 고침하면 몇 초 안에 코드가 다시 활성화되고 페이지가 다시 실행됩니다.
이것은 실제로 "청산"입니다
결국 이번 문제는 JS 자체의 문제가 아니라,프런트엔드 레거시 코드의 시대.
브라우저 제조업체가 해야 할 일은 매우 명확합니다. 오래된 구문을 점진적으로 정리하고 개발자에게 업데이트를 강제하는 것입니다.
고속도로와 같습니다. 예전에는 세발자전거와 트랙터가 나란히 달릴 수 있었지만, 이제는 안전상의 이유로 차로 밀어내야 합니다. language="javascript" 그 트랙터는 고속 차선에 있어서는 안 됐어요.
개발자는 무엇에 주의해야 할까?
이 사건은 우리에게 매우 현실적인 경고가 됩니다.
코딩 표준은 정말 중요합니다 "그냥 작동한다"고 생각하는 코드가 특정 버전에서는 작동하지 않을 수 있습니다.
테스트 환경은 속도에 맞춰야 합니다. 컴퓨터의 Chrome에서 클릭만 하고 게시하지 마세요. 모바일 기기와 다양한 버전의 브라우저에서 확인해야 합니다.
브라우저 업데이트 로그를 따르세요 Chromium이 업그레이드될 때마다 "지원 중단 및 삭제" 메시지가 많이 발생합니다. 이는 단순한 장식이 아니라 비즈니스에 큰 타격을 줄 수 있습니다.
결론: 코드 줄 뒤에는 기술적 진화가 있습니다.
많은 사람들이 구글이 "비윤리적"이라고 불평하지만, 더 큰 관점에서 보면 이는 실제로 전체 웹 생태계를 발전시키는 불가피한 과정입니다.
오래된 속성을 제거하고 개발자에게 표준을 따르도록 강요하는 것은 기술 문명의 반복입니다.
만약 우리가 모든 오래된 구문과 계속 호환된다면, 프런트엔드는 조만간 낡고 엉망진창이 될 것입니다.
그러므로 우리가 이 작은 구멍을 수리할 때, 우리는 실제로 "기술 문명의 청소 운동"에 참여하고 있는 것입니다.
다음 몇 년 동안 이와 유사한 함정이 점점 더 많아질 것이며 유일한 해결책은 다음과 같습니다.시대에 발맞춰 표준을 수용하세요.
최종 요약
- 컴퓨터는 실행할 수 있지만 안드로이드는 실행할 수 없습니다.
<script language="javascript">더 이상 사용되지 않음. - 从 Chromium 119 안드로이드 크롬이 스킵에서 선두를 차지합니다.
language기인하다<script>자리. - 해결책은 다음과 같습니다.
<script>或<script type="text/javascript">. - 수정 후 캐시를 새로 고치면 문제가 복구됩니다.
- 개발자는 항상 브라우저 업데이트에 주의를 기울이고 표준화된 방식으로 코드를 작성하는 습관을 들이는 것이 좋습니다.
그러니 다음에 컴퓨터는 잘 작동하지만 휴대폰은 작동하지 않는 이상한 버그를 발견하면 이렇게 생각해 보세요. 코드에 "지난 세기의 유물"이 숨겨져 있는 걸까요?
희망 첸 웨이량 블로그( https://www.chenweiliang.com/ ) "안드로이드 크롬에서 JS 코드가 실행되지 않는 이유는 무엇일까요? 실행되지 않는 이유를 밝히고 원클릭 솔루션을 제공합니다!"라는 글을 공유했는데, 도움이 될 수 있습니다.
이 기사의 링크를 공유하는 것을 환영합니다:https://www.chenweiliang.com/cwl-33236.html
더 많은 숨겨진 트릭을 알아보려면🔑 Telegram 채널에 가입하세요!
마음에 드셨다면 공유하고 좋아요를 눌러주세요! 여러분의 공유와 좋아요는 저희의 지속적인 원동력이 됩니다!