我正在建立一个专门针对移动设备的网站.有一个页面尤其适合在横向模式下查看.

有没有办法检测访问该页面的用户是否在纵向模式下查看该页面,如果是,则显示一条消息,通知用户该页面最好在横向模式下查看?如果用户已经在横向模式下查看,则不会出现任何消息.

因此,基本上,我希望站点检测视口方向,如果方向为Portrait,则显示一条警告消息,建议用户最好在Landscape模式下查看此页面.

推荐答案

if(window.innerHeight > window.innerWidth){
    alert("Please use Landscape!");
}

jQuery Mobile有一个处理此属性更改的事件...如果你想在有人稍后轮换时发出警告-orientationchange

另外,在谷歌搜索之后,查看window.orientation(我相信是用度来衡量的…)

EDIT:在移动设备上,如果你打开键盘,上面的操作可能会失败,所以可以使用screen.availHeightscreen.availWidth,这样即使在键盘打开后也能提供适当的高度和宽度.

if(screen.availHeight > screen.availWidth){
    alert("Please use Landscape!");
}

Javascript相关问答推荐

如何从对象嵌套数组的第二级对象中过滤出键

Cypress -使用commands.js将数据测试id串在一起失败,但在将它们串在一起时不使用命令有效

防止用户在selectizeInput中取消 Select 选项

网页自检测外部元素无法加载

扫描qr code后出错whatter—web.js

嵌套异步JavaScript(微任务和macrotask队列)

为什么这个JS模块在TypeScript中使用默认属性导入?""

为什么按钮会随浮动属性一起移动?

为什么我的自定义元素没有被垃圾回收?

如何利用CSS中的隐藏元素实现平滑扩展和防止网格行间隙

Google脚本数组映射函数横向输出

expo 联系人:如果联系人的状态被拒绝,则请求访问联系人的权限

我想使用GAS和HTML将从Electron 表格中获得的信息插入到文本字段的初始值中

匹配一个或多个可选重复的特定模式

如何为仅有数据可用的点显示X轴标签?

在将元素追加到DOM之前,createElement()是否会触发回流?混淆abt DocumentFragment行为

如何使用Cypress在IFRAME中打字

Played link-Initialize.js永远显示加载符号

在每次重新加载页面时更改指针光标

无法向甜甜圈图表上的ChartJSImage添加可见标签