JavaScript 如何监听媒体查询变化
快速答案
用 matchMedia 创建查询,并监听 change 事件。
const query = matchMedia('(prefers-color-scheme: dark)');
query.addEventListener('change', event => console.log(event.matches));
使用要点
- 确认代码运行在浏览器环境;如果服务端渲染会执行同一段代码,要把读取逻辑放到客户端生命周期里。
- 处理 URL、Cookie 或存储值时,先约定编码、过期时间和缺省值。
相关内容
相关内容
- JavaScript 如何添加删除切换 class JavaScript 如何添加删除切换 class:使用 classList.add/remove/toggle,避免手动拼接 className。 示例可直接...
- JavaScript 多维数组如何拍平 JavaScript 多维数组如何拍平:用 flat 指定深度,不确定深度时可以传 Infinity。 示例可直接复制到浏览器或项目代码中,并附相关教程、工具入...
- JavaScript 如何求数组最大值和最小值 JavaScript 如何求数组最大值和最小值:小数组可用 Math.max 展开,大数组用 reduce 更稳。 示例可直接复制到浏览器或项目代码中,并附相关...
- JavaScript 数组如何求和 JavaScript 数组如何求和:用 reduce 累加数值,注意把字符串先转成数字。 示例可直接复制到浏览器或项目代码中,并附相关教程、工具入口。
- async/await 如何统一捕获错误 async/await 如何统一捕获错误:在调用边界用 try/catch 包住 await,并把错误转成用户能看懂的信息。 示例可直接复制到浏览器或项目代码中...
- JavaScript 如何进行 Base64 编码和解码 JavaScript 如何进行 Base64 编码和解码:英文可用 btoa/atob,中文要先用 TextEncoder/TextDecoder 处理。 示例...