所以我正在尝试重定向我网站上的移动页面。如果有人在使用移动设备,那么它会将他们发送到移动站点而不是桌面站点。它适用于 Chrome。但是,它不适用于 macOS Safari。知道为什么吗? JavaScript 如下:
<script>
if (screen.width <= 420) {
document.location="mobileindex.html";
}
</script>
最佳答案
screen.width
返回屏幕的宽度,而不是浏览器窗口的宽度。这很好,因为这意味着我们无法将用户错误地重定向到移动网站。
在 Chrome 中,我们可以使用设备模拟器测试我们的逻辑是否正常工作。在设备模拟器中加载页面时,screen.width
返回被模拟设备的宽度,而不是主机屏幕的宽度。
但是在Safari中,相应的响应式设计模式并不是这样工作的。 screen.width
将始终返回 Safari 中计算机显示器的宽度,而不是模拟设备的宽度。
换句话说,这是 Safari 实现的问题,而不是您的代码。它可以在实际的移动设备上正常运行。
关于javascript - 为什么 window.screen 在 macOS safari 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49077801/