1

我在浏览器中搜索了对 CSS3 媒体查询的支持,IE9+ 支持,http: //caniuse.com/css-mediaqueries ,但是当我使用Modernizr检测时,发现 ie7-ie9 不支持,ie10 支持. 我要做的是:

  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 中:警报(“不支持”);

结果:ie7-ie9 提示“不支持”,在 ie10 中提示“支持”。我认为ie9也应该提醒“支持”,对吧?我的代码有问题吗?

另一个奇怪的事情是,如果我使用来自http://modernizr.com/docs/#mq的示例用法 :

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

Chrom、firefox 和 IE7-10 会提示“不支持”,我认为现代浏览器应该提示“支持”。为什么?

4

1 回答 1

1

关于你的第一个问题 - 我无法复制。Modernizr.mq('(min-width: 0px)')在 IE 9 中为我返回 true。在 F12 工具中检查您的文档模式,看看您是否正在退回到非标准模式。

第二,浏览器的现代性与它是否会返回真实无关。Modernizr.mq测试浏览器是否匹配媒体查询。如果为 false,则表示浏览器窗口大于 768 像素。

于 2013-11-20T06:03:48.303 回答