这是此问题的后续问题:使用javascript获取设备宽度。
我正在尝试做的是@media (max-width: 600px)在JavaScript中获得等效的CSS 。
该接受的答案说要做到以下几点:
var width = (window.innerWidth > 0) ? window.innerWidth : screen.width;
Run Code Online (Sandbox Code Playgroud)
那还正确吗?它适用于所有设备吗?
如果正确,检查的目的是(window.innerWidth > 0)什么?
我想知道它是否仍然有效。如果您查看答案的最后评论(有6票赞成票),则会显示:
这怎么有这么多投票?
var width = (window.innerWidth > 0) ? window.innerWidth : screen.width;在iPhone 6和6 Plus上返回667。此解决方案无法正常工作。
您应该能够执行以下操作:
if (matchMedia) {
var mq = window.matchMedia("(max-width: 600px)");
mq.addListener(WidthChange);
WidthChange(mq);
}
function WidthChange(mq) {
if (mq.matches) {
//Window width is less than or equal to 600px
} else {
//Window width is greater than 600px
}
}
Run Code Online (Sandbox Code Playgroud)