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

时间:2018-03-02 21:38:06

标签: javascript html safari

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

<script>
        if (screen.width <= 420) {
        document.location="mobileindex.html";
    }
</script>

1 个答案:

答案 0 :(得分:2)

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

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

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

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