加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

你能在Windows 10上使用JavaScript检测Edge和IE11中的“平板电脑

发布时间:2020-12-13 20:39:17 所属栏目:Windows 来源:网络整理
导读:我想在用户切换“平板电脑模式”时动态更改为触摸友好的布局,如果他们关闭平板电脑模式,则切换回我们的“桌面”布局. 这需要(1)在JavaScript中检测平板电脑模式(2)检测平板电脑模式的开/关变化. 我更喜欢纯JavaScript和DOM(不是jQuery,Modernizr等). 原因:
我想在用户切换“平板电脑模式”时动态更改为触摸友好的布局,如果他们关闭平板电脑模式,则切换回我们的“桌面”布局.

这需要(1)在JavaScript中检测平板电脑模式(2)检测平板电脑模式的开/关变化.

我更喜欢纯JavaScript和DOM(不是jQuery,Modernizr等).

原因:我们有一个高密度(类似桌面)的用户界面,我们不能轻易改变.我希望在“平板电脑模式”下添加间距以使触控更友好.这与Windows 10任务栏在平板电脑模式下在图标之间添加额外填充相同(可能其他Windows 10应用程序会以这种方式运行?!)

编辑:我做了一些视口研究,因为看起来零宽度滚动条是检测平板电脑模式(或Metro)的技巧. http://pastebin.com/ExPX7JgL

平板电脑模式:Edge中的滚动条宽度为0.
不是平板电脑模式:Edge中的滚动条宽度不为零.

使用纯JavaScript代码here.

这适用于Windows 10上的Edge(IE12),但不适用于Internet Explorer 11.在模式之间切换时可能会发生调整大小事件,但不可靠(如果页面小于窗口,我认为不会.)我很感兴趣听听是否有人发现使其100%可靠的技术).

请注意,由于其他原因(iOS,Android,Windows Phone,Safari OSX或if -ms-overflow-style:none,以及其他原因)滚动条宽度可以为零. Modernizr 3具有hiddenscrollbar功能检测功能,可检测是否使用了零宽度滚动条.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读