首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有任何方法来检测用户是否已推出微软边缘平板电脑或桌面浏览器?

是否有任何方法来检测用户是否已推出微软边缘平板电脑或桌面浏览器?
EN

Stack Overflow用户
提问于 2015-08-03 06:18:52
回答 3查看 1.5K关注 0票数 0

Microsoft浏览器正在为windows 10平板和桌面返回相同的用户代理。因此,请帮助我通过任何javascript特性、用户代理检测或任何其他方式来区分micosoft、边缘平板和桌面浏览器。

注意:通常我们通过指针事件来区分平板浏览器和桌面浏览器。tablet支持指针事件,而桌面不支持指针事件。在windows 10中,甚至桌面都支持指针事件。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-14 08:06:57

与Windows8/8.1不同,微软只有一个边缘浏览器,而不是一个“沉浸式”触摸友好浏览器和常规桌面win32应用程序。因此,您不能用UA字符串检测差异,因为没有区别。

但是,如果您的用例是为触摸设备(平板和可转换设备、2 in -1,等等)提供触摸友好的布局,并且为鼠标和键盘用户提供更紧凑的布局,那么您可以在CSS中使用特性检测。

为此,您可以使用CSS查询交互媒体功能。

如果您想检测到有触摸屏:

代码语言:javascript
复制
@media (pointer: coarse) { 
    ...styles for touch screen...
}

如果您希望检测到用户无法悬停(触摸屏上的一个常见问题):

代码语言:javascript
复制
@media (hover: none) {
   ... styles ...
}

但是,重要的是要指出,这报告了主要的指向设备。在可转换的机器中,可以有触控板/鼠标和触摸屏,它可以报告触摸屏的值。

详情请参见规格

票数 3
EN

Stack Overflow用户

发布于 2015-08-03 07:09:13

测试user-agent for Touch对您不起作用吗?

票数 0
EN

Stack Overflow用户

发布于 2015-09-16 06:32:06

我发现您可以使用JavaScript来检测是否处于Tablet模式(尽管代码可能只需要在边缘处于用户代理中,而Windows不在用户代理时才需要运行)--请参阅https://stackoverflow.com/a/32601200/436776

这在Edge中有效,但在IE11中不起作用。

一种类似于Windows8/8.1上的可靠地检测地铁/现代的技术。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31780562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档