enquire.js не отвечает в IE9
Я запускаю очень простой тест enquire.js в соответствии с приложением и обнаружил, что он не получает ответ от IE9. Несколько других браузеров работают нормально (FF, Chrome, Safari). Я протестировал набор тестов от GITHUB в IE9, который работает нормально, поэтому я должен что-то упустить. Любая помощь приветствуется!
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>enquire.js test</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width">
</head>
<body>
<div id="frame">hello</div>
<script src="js/libs/jquery.1.7.1.js"></script>
<script src="../dist/enquire.js"></script>
<script>
$(document).ready(function(){
enquire.listen(50);
enquire.register("screen and (max-width: 1000px)",
{
match : function(){
$("#frame").css("background-color","#f00");
},
unmatch : function(){
$("#frame").css("background-color","#0f0");
},
});
});
</script>
</body>
</html>
1 ответ
IE9 не поддерживает matchMedia
API, поэтому вы должны включить полифилл, чтобы заставить его работать. Вы можете добавить полифилл на страницу так, как вам нравится, при условии, что она загружена до запроса. Лично я использую Modernizr для условной загрузки полифилов, но это личное предпочтение.
надеюсь, это поможет