2013-10-03 6 views
0

현재 브라우저 사이의 입력 유형이 수용할만한 고유 한 UI 차이가 많기 때문에 $.browser.webkit$.browser.msie을 사용하고 있습니다.jquery-migrate을 회수하는 중입니다.

특히 : Chrome은 내 범위를 슬라이더로 변경하지만 IE는 그렇지 않습니다. 그리고 IE 타임 타입에 스피너를 배치해야하는데, Chrome이이를 커버합니다. 다른 것들도 있지만 이것들은 제가 가장 많이 다루어야하는 것들입니다.

migrate lib의 브라우저 테스트 대신 이러한 차이점을 테스트하는 가장 좋은 방법은 무엇입니까? (내가 직접 사용자 지정자를 쿼리 할 수 ​​있음을 알고 있지만 회 전자 또는 슬라이더 등을 추가해야하는지 UI를 쿼리하려고합니다.)

+0

html5 요소의 가용성을 테스트하려면 date 유형의 메모리에 입력을 만들고 날짜 또는 텍스트 필드인지 테스트하십시오. 이것은 FAQ입니다 – mplungjan

+0

필드는 사용 가능한 것으로 나타나지만 완전히 다르게 렌더링됩니다. 해결하려는 렌더링 문제입니다. – Brian

+0

테스트하는 방법을 알아 내려고하는 것은 요소의 기능입니다. – Brian

답변

0

짧은 대답 mplungjan 내가 필요한 것. IE11과 Chrome 둘 다 지원되는 기능이있는 Chrome을 보면 지원 위치가 완전히 다르게 표시 될 수 있습니다. 그래서 내 솔루션은 브라우저와 버전을 감지하기 위해 마이그레이션 라이브러리에 머물러있게되었고, 그런 다음 내 코드가 필요로하는 브라우저에서 렌더링을 재정의하게됩니다.

즉, 브라우저의 사전을 유지하고 기능을 구현하므로 내 코드가 사전 지정에 따라 지능적으로 재정의 할 수 있습니다.

기능이 지원되지 않는 경우에 대해서는 기능을 테스트 한 후 가장 쉬운 방법 중 하나에 연결된 mplungjan 기능에 대한 표준 테스트를 계속 사용합니다. 최고는 아니지만 가장 쉽습니다.

Twitter Bootstrap 및 Angular.JS UI로 전환하면 다른 사람들의 솔루션을 사용하여 이러한 이상 함을 줄일 수 있습니다.

+0

너 브라우저 감지에 의존해서는 안됩니다. 내가 이해하지 못하는 한 가지. 작동하는 스피너, 슬라이더 등을 이미 사용하고 있다면 단순히 사용하지 않는 것이 어떻습니까? 나는 모든 브라우저를 의미한다. 아무것도 감지 할 필요가 없습니다. – kapa

+0

문제는 각 브라우저가 UI를 다르게 렌더링한다는 것입니다. CSS는 지금까지만 진행됩니다. UI의 차이점과 브라우저 호환성을 극복하기 위해 Modernizr의 기능 탐지까지 할 수있는 한 멀리갔습니다. 그래서 지금 나는 올바르게 작동하지 않는 것들이있는 지점에 있으며, 나는 compat lib를 만들었고, lib의 단점을 극복했습니다. 그러나, 이것은 모두 오래된 것입니다. 그 이후로 나는 모든 것을 버리고 프론트 엔드를 위해 Twitter Bootstrap + Angular.js를 사용했습니다. – Brian