返回介绍

saber-matchmedia v0.1.0

发布于 2023-10-15 20:10:06 字数 2263 浏览 0 评论 0 收藏 0

saber-matchmedia

移动端 matchMedia 支持。

Usage

引入模块

通过 edp 引入模块:

edp import saber-matchmedia

该模块有 两个版本完整版 性能高,体积较大;简化版 体积小,功能受限;请根据项目需求自由选择。

完整版

默认版本,返回的对象包含 MediaQueryList 的所有主要功能:

var matchMedia = require( 'saber-matchmedia' );

完整版 来自 weblinc/media-match,性能 ( via jsperf ) 比 Native matchMedia 高,远超 paulirish/matchMedia.js

简化版

该版本 不支持 MediaQueryListaddListenerremoveListener

var matchMedia = require( 'saber-matchmedia/lite' );

简化版paulirish/matchMedia.js 去除对 桌面浏览器 支持之后的版本。

屏幕翻转

因为 orientationchange 的支持情况不佳,resize 又在很多情况下都会触发,所以通常用该模块来判断屏幕翻转:

var matchMedia = require( 'saber-matchmedia' );

matchMedia( 'screen and (orientation: portrait)' )
    .addListener( orientationHandler );

function orientationHandler( mql ) {
    // do something...
}

API

使用方式与标准的 window.matchMedia 一致,请参考 MDN上的文档

matchMedia( mediaQueryString )

返回一个 MediaQueryList 对象(在不支持原生 matchMedia 的设备返回模拟的对象)。

<boolean> MediaQueryList.matches

media query 规则匹配则返回 true,否则为 false

<string> MediaQueryList.media

meida query 的值。

MediaQueryList.addListener( listener )

MediaQueryList 对象 添加 监听函数的方法。

MediaQueryList.removeListener( listener )

MediaQueryList 对象 移除 监听函数的方法。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文