IE6/7에는 기본적으로 콘솔이 없습니다.
사실 Firefox는 Firebug라는 플러그인에 의해 제공됩니다. Firebug가 설치되지 않은 상태에서 Firefox 사본을 사용하는 경우 console
을 IE와 똑같이 호출하려고하면 오류가 발생합니다.
IE8/9 do에는 콘솔이 있습니다.
Chrome 및 Safari에는 기본 제공 콘솔 개체가 있지만 Firebug 또는 IE8과 완전히 동일한 방식으로 작동하지 않습니다.
모든 브라우저에서 디버그 창이 열려 있지 않으면 콘솔 개체가 만들어지지 않을 수 있습니다. 즉, console.log
호출 코드는 브라우저에서만 실패 할 수 있습니다.
예를 들어, console.log()
으로 전화를 걸면 콘솔이없는 브라우저를 막으려 고 의도적으로 존재하는 dummy console
개체가 본질적으로 만들어집니다. 그러나 코드가 실행되기 전에 console.log()
으로 전화를 걸면 콘솔이없는 브라우저는 해당 행에서 충돌합니다. 따라서 console.log("doc ready");
줄을 이동하여 console
이 있는지 여부를 감지하는 비트 다음에 오게하십시오.
IE 용 콘솔을 원하면 Firebug Lite이라는 Firebug 버전이 있으며 모든 브라우저에서 실행할 수 있습니다. 이것을 실행하면 console
오브젝트가 작성됩니다.
그러나 페이지가로드 된 후에 만 실행할 수 있으므로 문서 준비 기능에서 콘솔 메시지를 표시 할 수 없습니다. 또한 이미 존재하는 콘솔 객체를 만드는 데 실패 할 수 있으므로, 문서에 더미 콘솔 객체를 만들 준비가 된 코드가 Firebug Lite가 올바르게 작동하지 못하게 할 수 있습니다.
마지막으로 콘솔을 사용하는 것은 디버깅 용도로 환상적이지만 나중에 디버깅 용도로만 사용하려는 경우에도 console.log
에 대한 호출로 실제 코드를 전달하지 않도록하십시오. 이미 보았 듯이 콘솔 객체가 없으면 브라우저에서 코드 실행을 중단 할 수 있으며 라이브 사용자에게는 문제가 발생하지 않도록주의해야합니다. : 코드를 전송하기 전에 항상 콘솔에 대한 모든 호출을 제거했는지 확인하는 것이 가장 좋습니다.
콘솔에서도 작동합니다. – darioo
틀린 점은 IE7 이하에서 콘솔 용 방화 광 라이트를 설치해야한다는 것입니다. IE8은 콘솔을 가지고 있지만 Firebug와 같은 로깅 방법이 강력하지는 않지만 거기에 있습니다. – epascarello