我需要一种快速而肮脏的方法来使用jquery检测媒体查询支持.我定义了一个函数如下:
function mediaQueriesEnabled () { var v = parseFloat($.browser.version); if ($.browser.msie) { if (v < 9) return (false); } return (true); }
http://caniuse.com/css-mediaqueries
我意识到这里有一些复杂性.例如,当我测试我的safari版本时,我得到“534.57.2”.我现在想避免安装modernizr,主要是因为我处于紧张状态,我需要在短期内处理大多数情况.任何帮助表示赞赏!
解决方法
您可以使用媒体查询创建样式表,看看它是否有效.
在您的HTML中:
<style>@media all and (min-width:1px) { .mediatest {position:absolute} }</style>
(或者你可以动态创建样式表,但这更难)
然后在你的脚本中:
var d = document.createElement('div'); d.className = "mediatest"; document.body.appendChild(d); if( window.getComputedStyle && window.getComputedStyle(d).position == "absolute") { // supports media queries! } document.body.removeChild(d);