为什么window.screen无法在macOS safari上运行

问题描述 投票:2回答:1

所以我正试图在我的网站上重定向移动页面。如果有人在移动设备上,那么它会将它们发送到移动网站而不是桌面网站。它适用于Chrome。但是,它不适用于macOS Safari。知道为什么吗? JavaScript如下:

<script>
        if (screen.width <= 420) {
        document.location="mobileindex.html";
    }
</script>
javascript html safari
1个回答
1
投票

screen.width返回屏幕的宽度,而不是浏览器窗口。这很好,因为这意味着我们不能错误地将用户重定向到移动网站。

在Chrome中,我们可以使用Device Emulator测试我们的逻辑是否正常工作。在Device Emulator中加载页面时,screen.width返回正在模拟的设备的宽度,而不是主机的屏幕。

但是,在Safari中,相应的响应式设计模式不能以这种方式工作。 screen.width将始终返回Safari中计算机显示器的宽度,而不是模拟设备的宽度。

换句话说,这是Safari实现的问题,而不是您的代码。它可以在实际的移动设备上正常工作。

© www.soinside.com 2019 - 2024. All rights reserved.