[英]Testing for media queries in yepnope.js - false positive or…?
我正在使用此代码来测试媒体查询支持,因为我想加载例如IE8的polyfill。
yepnope({
test : Modernizr.mq('(only all)'),
nope : ['scripts/respond.js']
});
它工作(= respond.js在IE中加载),但现在我刚刚发现response.js也在Safari中加载。
在阅读了文档后,我相信respond.js已加载,因为Safari 不支持某种媒体查询。 这是真的? 我该如何解决这个问题?
问题不在于Safari不支持某些媒体查询,而是(only all)
查询不是有效的媒体查询。 应该有周围没有括号only
关键字或媒体类型all
:
yepnope({
test : Modernizr.mq('only all'),
nope : ['scripts/respond.js']
});
我也在使用modernizr,但发现添加媒体查询支持最简单的方法是IE7和IE8只是在页面头部使用这样的东西
<!--[if lt IE 9]>
<script src="js/respond.js"></script>
<![endif]-->
确保在加载CSS文件后调用respond.js。
这对我很有用。
祝好运!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.