我想在用户切换“平板电脑模式”时动态更改为触摸友好的布局,如果他们关闭平板电脑模式,则切换回我们的“桌面”布局.
这需要(1)在JavaScript中检测平板电脑模式(2)检测平板电脑模式的开/关变化.
我更喜欢纯JavaScript和DOM(不是jQuery,Modernizr等).
原因:我们有一个高密度(类似桌面)的用户界面,我们不能轻易改变.我希望在“平板电脑模式”下添加间距以使触控更友好.这与Windows 10任务栏在平板电脑模式下在图标之间添加额外填充相同(可能其他Windows 10应用程序会以这种方式运行?!)
编辑:我做了一些视口研究,因为看起来零宽度滚动条是检测平板电脑模式(或Metro)的技巧. http://pastebin.com/ExPX7JgL
平板电脑模式:Edge中的滚动条宽度为0.
不是平板电脑模式:Edge中的滚动条宽度不为零.
原文链接:https://www.f2er.com/windows/372020.html不是平板电脑模式:Edge中的滚动条宽度不为零.
这适用于Windows 10上的Edge(IE12),但不适用于Internet Explorer 11.在模式之间切换时可能会发生调整大小事件,但不可靠(如果页面小于窗口,我认为不会.)我很感兴趣听听是否有人发现使其100%可靠的技术).
请注意,由于其他原因(iOS,Android,Windows Phone,Safari OSX或if -ms-overflow-style:none,以及其他原因)滚动条宽度可以为零. Modernizr 3具有hiddenscrollbar功能检测功能,可检测是否使用了零宽度滚动条.