2013-04-25 46 views
1

我在瀏覽器中搜索了對CSS3媒體查詢的支持,IE9 +支持它,但是當我使用Modernizr來檢測它時,結果顯示ie7-ie9不支持它,ie10支持它。 我要做的就是:爲什麼我無法在IE9中使用modernizr檢測媒體查詢

  1. 生成自定義Modernizr的JS:http://modernizr.com/download/#-mq-teststyles-load

  2. 的html代碼:下面是我在HTML頭代碼,我想檢測是否爲最小寬度的媒體瀏覽器支持查詢中使用,如果支持,增加support.js,如果沒有,包括nosupport.js

    <script src="modernizr.custom.03829.js" type="text/javascript"></script> 
    <script> 
        Modernizr.load({ 
         test: Modernizr.mq('(min-width: 0px)'), 
         yep: 'support.js', 
         nope: 'nosupport.js' 
        }); 
    </script> 
    
  3. 在support.js:警報( 「支持」);

  4. 在nonosupport.js中:al​​ert(「not support」);

結果:ie7-ie9警報「不支持」,在ie10中,警報「支持」。我認爲ie9也應該提醒「支持」,對吧? 我的代碼有問題嗎?

另一個奇怪的是,如果我使用http://modernizr.com/docs/#mq 樣本用法:

Modernizr.mq('only screen and (max-width: 768px)') // true 

CHROM,Firefox和IE7-10會提醒「不支持」,我覺得現代的瀏覽器應提醒「支持」。爲什麼?

回答

1

在你的第一個問題 - 我不能複製。 Modernizr.mq('(min-width: 0px)')對於我而言在IE 9中返回true。在F12工具中檢查文檔模式,看看你是否回退到非標準模式。

第二,瀏覽器的現代性與它無關或不會返回真實。 Modernizr.mq測試瀏覽器是否匹配媒體查詢。如果爲false,則表示瀏覽器窗口大於768像素。