gpt4 book ai didi

javascript - window.matchMedia 即使存在媒体查询也不会改变

转载 作者:行者123 更新时间:2023-12-02 05:00:18 25 4
gpt4 key购买 nike

有一个包含这些规则的 CSS 文件:

@media screen and (orientation:portrait) {
.foo {}
}
@media screen and (orientation:landscape) {
.foo {}
}

然后我得到了这个脚本,在 orientationchange 上运行:

function checkOr(){
if (window.matchMedia("(orientation:portrait)").matches) {
console.log('portrait ' + window.orientation);
} else {
console.log('landscape '+ window.orientation);
}
}

但是当 window.orientation 返回正确的值时,matchMedia 总是返回页面的初始状态:

portrait -90
portrait 0
portrait -90

在装有最新 iOS 更新的 iPhone 5 和 iPad 4 上测试。

我做错了什么? Webkit bugtracker说每个媒体查询都必须有规则,但我不是这样。

最佳答案

您如何添加事件以在 orientationchange 上调用函数?我刚刚在我的 iPad 上试过这个,它似乎工作正常:http://jsbin.com/ewixuc/2

function checkOr(){
if (window.matchMedia("(orientation:portrait)").matches) {
alert('portrait ' + window.orientation);
} else {
alert('landscape '+ window.orientation);
}
}

window.addEventListener("orientationchange", checkOr);

关于javascript - window.matchMedia 即使存在媒体查询也不会改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16938831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com