2016-11-16 4 views
1

나는 일반적인 질문이있다. 나는 자바 스크립트로 첫 프로그램을 만들고 있는데, 그 중 일부는 이상한 "깨진 브라우저"- 문제를 겪었다.깨진 브라우저를 다루는 방법?

내 프로그램을 몇 주 동안 여러 브라우저와 컴퓨터 시스템에서 자주 프로젝트를 테스트했습니다. 특정 버전에서 Firefox 및 Chrome에서 이상한 동작을 관찰했습니다. 두 경우 모두 프로그램이 두 브라우저 모두에서 정상적으로 작동하고 갑자기 한 컴퓨터에서 Windows의 Firefox에서 문제가 발생했습니다. 몇 가지 연구를 한 후 브라우저를 업데이트하려고 시도했지만 문제는 사라졌습니다. Linux에서 Chrome과 동일한 경험. 괜찮 았는데 갑자기 크롬 48에 문제가있었습니다. Mac 및 Windows에서 프로그램을 테스트했는데 문제가 없었습니다. 그런 다음이 컴퓨터의 브라우저에 54 버전이 있음을 알았습니다. 따라서 최신 버전으로 내 Linux 컴퓨터를 업데이트했는데 문제가 해결되었습니다.

내 질문 : 특정 버전의 브라우저에서 이러한 현상이 발생하는 것은 정상입니까? 그렇다면 더 큰 프로젝트를 수행하는 경우이를 처리하는 방법은 정상입니까?

편집 : 아래의 답변에서 나는 내 질문에 명확하지 않다는 것을 알았습니다. 질문은 크롬이 v47에서 작동하지만 v48에서는 작동하지 않는 이유에 대한 것보다 브라우저 간 호환성에 관한 것이 아니라 v54에서 다시 작동합니다. Firefox 및 다른 브라우저와 동일합니다.

+0

최신 버전 예를 들어 새로운 스크립팅 방법을 지원 JS, 구식 브라우저에서는 ECMAScript 6을 지원하지 않습니다. 구형 브라우저의 사용자를 지원하려면 이러한 브라우저에서 실행할 수있는 코드가 있는지 확인해야합니다. –

+0

문제가 해결되었다고해서 반드시 문제의 원인이 사라진 것은 아닙니다. 특정 브라우저 버전 또는 상황에서만 노출되는 코드에서 오류가 발생하지 않을 수도 있으며 브라우저에 오류가 발생하여 프로그램이 실패 할 수도 있습니다. 코드를 알지 못하고 코드가 어떻게 실패 하는지를 알지 못하면 문제가 코드 또는 브라우저인지 그리고이를 처리하는 방법을 알 수 없습니다. –

답변

0

브라우저 간 호환성에 대해 읽어야합니다. 각 브라우저마다 특정 기능의 구현이 다를 수도 있고 그렇지 않을 수도 있습니다. IE8과 같은 오래된 브라우저의 경우 단순한 window.innerWidth 은 작동하지 않습니다.

jQuery 당신을 도울 수 있습니다. 많은 경우에 크로스 브라우저 호환성을 효과적으로 제공하는 라이브러리입니다. 일부 기능은 또한 caniuse.com 같은 웹 사이트에 의해 수동으로 지원을 확인할 수 있습니다 Modernizr

를 사용하는 브라우저 지원하면 또 다른 방법은 테스트 - CSS 스타일 주로 작동뿐만 아니라 브라우저의