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

我想在用户切换“平板电脑模式”时动态更改为触摸友好的布局,如果他们关闭平板电脑模式,则切换回我们的“桌面”布局.

这需要(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功能检测功能,可检测是否使用了零宽度滚动条.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...