0

예를 들어 polyfill을로드하려는 경우이 코드를 사용하여 미디어 쿼리 지원을 테스트하고 있습니다. IE8.yepnope.js의 미디어 쿼리 테스트 - false positive 또는 ...?

yepnope({ 
    test : Modernizr.mq('(only all)'), 
    nope : ['scripts/respond.js'] 
}); 

의미가 있습니다 (=의 respond.js이 오 데르 IE에서로드되는),하지만 지금 난 그냥 respond.js 또한 Safari에서로드되는 것을 발견했습니다.

the docs을 읽은 후 어떤 종류의 미디어 쿼리가 있기 때문에 respond.js가로드되었다고 생각합니다. 을 지원하지 않습니다. 사실입니까? 이 문제를 어떻게 해결할 수 있습니까?

답변

0

나는

<!--[if lt IE 9]> 
    <script src="js/respond.js"></script> 
<![endif]--> 

당신이 respond.js를 호출하고 있는지 확인뿐만 아니라 모더 나이저를 사용하지만, 가장 쉬운 방법은 IE7을 위해 미디어에게 쿼리 지원을 추가 발견 IE8는 페이지 헤드에이 같은 것을 사용하기 간단했다거야 CSS 파일이로드 된 후

이것은 나를 위해 잘 작동합니다.

행운을 빈다.

2

Safari는 특정 미디어 쿼리를 지원하지 않지만 (only all)은 유효한 미디어 쿼리가 아닙니다. only 키워드 또는 미디어 유형 all 주위에는 괄호가 없어야합니다.

yepnope({ 
    test : Modernizr.mq('only all'), 
    nope : ['scripts/respond.js'] 
});