2013-04-25 47 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像素。