javascript - 为什么 window.screen 在 macOS safari 上不起作用

标签 javascript html safari

所以我正在尝试重定向我网站上的移动页面。如果有人在使用移动设备,那么它会将他们发送到移动站点而不是桌面站点。它适用于 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/

相关文章:

javascript - 标记或圆圈在 Leaflet 上不起作用

javascript - typescript 和 ...args

html - 将 sass 文件夹添加到 codeigniter 公共(public)文件夹

php - 如何使用 Laravel + Jquery Ajax 从文本区域获取值到文本区域?

html - Css 显示和隐藏在除 Safari 之外的所有浏览器中工作。我怎样才能解决这个问题?

javascript - Safari 6 中不显示下拉菜单

javascript - 列表之间的 JQuery 移动更改元素

html - CSS 2.1 : Wrap Text Inside Div

css - 如何检测操作系统在浏览器中是否处于暗模式?

javascript - 使用 cryptojs 的最佳选择是什么,将 key 存储在客户端和服务器端,还是生成 key 并将其以某种方式传递给另一端?