IE의 정의되지 않은 '콘솔': 솔루션
Internet Explorer에서 웹 페이지를 디버깅하는 동안 "콘솔이 정의되지 않았습니다" 오류가 발생하면 실망스러울 수 있습니다. . 다음은 이 문제를 해결하고 스크립트 오류를 효과적으로 방지하기 위한 포괄적인 가이드입니다.
문제 배경
Firebug는 코드를 모니터링하는 데 탁월한 도구이지만 "콘솔"과 같은 특정 명령문은 .log(...)"는 IE8 및 이전 버전에서 런타임 오류를 유발할 수 있습니다. 이는 IE에 기본 콘솔 개체가 부족하여 "콘솔이 정의되지 않음" 문제로 이어지기 때문입니다.
초기 시도
모의 콘솔을 정의하여 이 문제를 패치하려고 시도합니다. 다음과 같은 자리 표시자 "로그" 기능이 있는 개체:
<script type="text/javascript"> if (!console) console = {log: function() {}}; </script>
충분하지 않을 수 있습니다. IE는 이러한 코드를 올바르게 해석하는 것 같지만 여전히 "콘솔이 정의되지 않았습니다" 오류가 발생합니다.
검증된 솔루션
이러한 오류를 효과적으로 제거하려면 다음 수정된 접근 방식을 시도해 보세요.
<script type="text/javascript"> if (!window.console) console = {log: function() {}}; </script>
이 수정된 방법은 직접 액세스하는 대신 'window.console' 속성을 확인하므로 더 안정적인 것으로 입증되었습니다. '콘솔.' 정의되지 않은 변수는 직접 참조할 수 없지만 전역 컨텍스트(브라우저의 창)의 정의되지 않은 속성에 액세스하는 것은 허용됩니다.
대체 옵션
원하는 경우 'window' 변수를 피하고 다음 대안을 사용할 수 있습니다.
<script type="text/javascript"> if (typeof console === 'undefined') console = {log: function() {}}; </script>
이 옵션은 동일한 결과를 얻습니다. 효과적으로.
위 내용은 Internet Explorer에서 '콘솔이 정의되지 않았습니다' 오류가 발생하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!