我读过,由于两者之间的用户代理相同,因此推荐的方法是使用特征检测。在某些情况下,这很好,很好,您可能希望显示 Flash 视频/电影/应用程序与 javascript 幻灯片,但我的问题是根据用户的输入设备显示正确的界面。
我所做的假设是,如果用户在“Metro”IE10 中,他们可能希望使用手指而不是鼠标。既然如此,我想给他们一个带有大命中框的界面。
我的问题:有没有办法区分并显示适当的界面?还是我坚持让用户通过我网站上设置 cookie 的链接手动切换模式?
我读过,由于两者之间的用户代理相同,因此推荐的方法是使用特征检测。在某些情况下,这很好,很好,您可能希望显示 Flash 视频/电影/应用程序与 javascript 幻灯片,但我的问题是根据用户的输入设备显示正确的界面。
我所做的假设是,如果用户在“Metro”IE10 中,他们可能希望使用手指而不是鼠标。既然如此,我想给他们一个带有大命中框的界面。
我的问题:有没有办法区分并显示适当的界面?还是我坚持让用户通过我网站上设置 cookie 的链接手动切换模式?
仍然无法从残缺的 Metro IE 中检测到正常的 IE,但知道您可以在服务器上知道用户是否有触摸屏http://blogs.msdn.com/b/ie/archive/2012/07/12 /ie10-user-agent-string-update.aspx
该帖子包含有关如何在 javascript 中执行检测的其他评论。
如果您使用 msPointerPoint 接口,您的客户端将收到相同的消息,无论他们使用鼠标还是触摸。您还可以使用手势 api - IE 博客上只有一篇博客文章讨论了如何使用鼠标浏览器中的手势。
IE 公开了一个统一的消息堆栈,因此您可以使用相同的输入处理,并且无论您使用的是触摸/笔还是鼠标,您的 UI 都可以正常工作。