如何从服务器正确识别IE10 Metro和IE10 Desktop以发回“手指友好”或“鼠标友好”界面?

我读过,既然用户代理是相同的两个,推荐的方法是使用function检测。 对于某些情况,这很好,对于您可能需要显示Flashvideo/电影/应用程序而不是JavaScript幻灯片,但是我的问题是根据用户的input设备显示正确的界面。

我正在做的假设是,如果用户在“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为消息公开了一个统一的栈,所以你可以使用相同的输入处理,无论你使用触摸/笔或鼠标你的用户界面将工作。