草庐IT

matchMedia

全部标签

javascript - Window.matchmedia 监听器触发两次

我正在尝试编写一些javascript,它会在某些浏览器断点处更改JS配置对象中保存的一些值。我已将window.matchmedia测试存储在配置对象中,然后循环遍历该对象的键以向每个测试添加一个事件监听器,如下所示:Object.keys(config.mediaQueries).map((key)=>{config.mediaQueries[key].addListener(function(){console.log("breakpointchange");});});https://codepen.io/decodedcreative/pen/YQpNVO然而,当浏览器调整大

javascript - Safari 忽略 window.matchMedia

我有条件地使用window.matchMedia以避免在移动设备中注入(inject)视频。CanIUse报告说matchMedia自Safari9以来将顺利运行(我正在对其进行测试),但我的代码完全被忽略了:if(window.matchMedia("(min-width:1025px").matches){console.log('match');document.addEventListener("DOMContentLoaded",function(){initialiseMediaPlayer();},false);functioninitialiseMediaPlayer(

javascript - enquire.js 遗留支持

我正在尝试找出让enquire.js在旧版浏览器(即6-9)上工作的最佳方法。在enquire的网站上,它说使用modernizr检查matchMedia支持,如果不支持则加载polyfill。Modernizr.load([//firsttestneedforpolyfill{test:window.matchMedia,nope:"/path/to/polyfill.js"},//andthenloadenquire"/path/to/enquire.js"]);查看它建议的polyfill,它说modernizr已经将它包含在Modernizr.mq()中。Usedin:Resp

javascript - Windows Mobile 上的媒体查询检测

if(window.matchMedia("(min-width:320px)").matches){alert("width320");//works}if(window.matchMedia("(min-width:768px)").matches){alert("width768");}if(window.matchMedia("(min-resolution:2.4dppx)").matches){alert("2.4dppx");}if(window.matchMedia("(min-resolution:217dpi)").matches){dpi=217;}if(wind

javascript - 最新检测小屏幕的方法

在等待响应式设计找到进入旧网站的方式时,如果屏幕小于480像素,我想将浏览器重定向到移动版本四处寻找我想出了varisSmall=window.matchMedia?window.matchMedia("screenand(max-width:480px)"):screen.width问题这在2014年是否可以接受,或者是否有更好/更安全/更新的方法来做我想做的而不使用用户代理嗅探?引用资料MDNWindow.matchMediaJavaScriptKitCSSmediaquerymatchinginJavaScriptusingwindow.matchMedia()QuirksMod

javascript - CSS 确定事件媒体查询

在Javascript中是否有直接的方法(不涉及解析css代码)来确定哪个媒体查询处于事件状态?例如我有两个查询:@mediascreenand(max-width:800px)@mediascreenand(min-width:801px)在不解析和查看clientWidth的情况下,我如何判断其中哪一个已评估为真。 最佳答案 虽然这是一个老问题,但在谷歌搜索此问题时它的排名很高。Window.matchMedia是官方的,并得到allmajorbrowsers的支持(IE10+)并将允许您查询某个媒体查询当前是否匹配。来自原始问

响应式开发,你还不知道Window.MatchMedia吗?

引言在现代Web开发中,响应式设计不仅仅局限于屏幕尺寸的适应。随着CSS3的发展,我们可以通过window.matchMedia()API来检测和监听浏览器视窗的媒体特性(如设备宽度、颜色方案等),从而实现更为精细的响应式功能。本文将详细介绍window.matchMedia()的概念、用法以及实际示例。什么是window.matchMedia?window.matchMedia()是一个内置在现代浏览器中的JavaScript方法,它允许开发者测试指定的CSS媒体查询是否匹配当前的渲染环境。返回值是一个MediaQueryList对象,该对象有两个关键属性和一个事件处理器:matches:布

javascript - 如何让我的 matchMedia 在我的调整大小事件监听器中工作?

我让TweenLite根据matchMedia大小将我的startTrigger设置为x像素。我希望这个matchMedia在浏览器调整大小时触发,所以我添加了一个事件监听器。它无法正常工作,因为我必须重新加载页面才能触发matchMedia。我已经尝试将matchMedia代码插入到我的调整大小事件监听器中,该监听器也处理我的元素的顶部位置。vartriggerOffset2=document.documentElement.clientHeight/2+44;varcardHeight2=$('#card2').outerHeight(true)/2+22;varduration2

javascript - 如何让我的 matchMedia 在我的调整大小事件监听器中工作?

我让TweenLite根据matchMedia大小将我的startTrigger设置为x像素。我希望这个matchMedia在浏览器调整大小时触发,所以我添加了一个事件监听器。它无法正常工作,因为我必须重新加载页面才能触发matchMedia。我已经尝试将matchMedia代码插入到我的调整大小事件监听器中,该监听器也处理我的元素的顶部位置。vartriggerOffset2=document.documentElement.clientHeight/2+44;varcardHeight2=$('#card2').outerHeight(true)/2+22;varduration2

javascript - 如何有条件地使用 javascript,如 CSS3 媒体查询、方向?

如何有条件地使用javascript,如CSS3媒体查询、方向?例如我可以为特定的东西写css@mediaonlyscreenand(width:1024px)and(orientation:landscape){.selector1{width:960px}}现在我只想运行一些符合相同条件的javascript喜欢@mediaonlyscreenand(width:1024px)and(orientation:landscape){Ajavascriptcodehere}我有一个外部javascript,例如http://ajax.aspnetcdn.com/ajax/jQuery/
12