匹配媒体和查询js之间的区别

Difference between matchmedia and enquire js

本文关键字:之间 区别 js 查询 媒体      更新时间:2023-09-26

首先,我想强调一下,我是javascript编程的新手,并且正在尝试从这里学习尽可能多的东西。阅读查询js api,文档以及源代码。我想知道查询js和传统的使用匹配媒体和调整大小事件侦听器有什么区别。

链接查询 js:http://wicky.nillia.ms/enquire.js/

将不胜感激任何贡献

在这里

查询作者:)我偶尔会关注SO上提出的问题,以便提供帮助。

没有这样的区别,查询是建立在matchMedia之上的。因此,一个更相关的问题可能是"查询除了匹配媒体 API 之外,还提供什么?

查询,最基本的是围绕matchMedia API的简单包装器。它的目标是消除你经常用matchMedia编写的样板代码(它本身不是一个很好的API(。它还为处理媒体查询提供了更多完整的生命周期:设置(可以选择延迟(、匹配、取消匹配、销毁。你必须自己处理所有这些,而无需询问。此外,它还简化了取消注册媒体查询,并为旧版浏览器提供了一个活板门,具有shouldDegrade

换句话说,在JS中使用MQ做相当高级的事情时,enquire是很好的。否则,你可以只使用原始的matchMedia API - 我绝对推荐它来做简单的事情。如果你走这条路,绝对不要使用调整大小事件,因为你必须输入逻辑来解弹事件等,而且它很快就会变得复杂!而是使用浏览器的本机 MediaQueryList.addListener:

matchMedia("screen and (min-width:40em)").addListener(function(mql) {
   if(mql.matches) {
        // do something when matching
   }
   else {
        // do soemthing when no match
   }
});

希望能为你澄清问题