【发布时间】:2023-03-20 05:49:02
【问题描述】:
是否知道我是在台式机还是移动设备上运行。
由于桌面响应能力不同,我想知道用户是否可以旋转屏幕。
【问题讨论】:
-
你想跑什么????
-
看看这个链接是否有帮助:detectmobilebrowsers.com
标签: javascript jquery
是否知道我是在台式机还是移动设备上运行。
由于桌面响应能力不同,我想知道用户是否可以旋转屏幕。
【问题讨论】:
标签: javascript jquery
您可以使用脚本来查找您的浏览器用户代理字符串。每个浏览器都有不同的用户代理。 Mac 上的 Safari 和 iPhone 上的 Safari 也有不同的用户代理。
不过我不太确定你的意思,你想让 javascript 知道你使用的是什么类型的设备吗?
【讨论】:
我认为您可以使用modernizr 来检测浏览器行为。
Modernizr.touch 测试仅指示浏览器是否支持触摸事件,这不一定反映触摸屏设备。例如,Palm Pre / WebOS(触摸)手机不支持触摸事件,因此无法通过此测试。此外,Chrome(桌面版)曾经谎称它对此的支持,但此后已得到纠正。 Modernizr 还通过媒体查询测试多点触控支持,这就是 Firefox 4 为 Windows 7 平板电脑提供的多点触控支持。有关详细信息,请参阅 Modernizr 触摸测试。
建议同时设置触摸 和 鼠标事件,以适应混合设备 - 请参阅 Touch And Mouse HTML5 Rocks 文章。
【讨论】:
下面将为您提供用户代理。
navigator.userAgent
然后你可以使用类似的东西:
if(navigator.userAgent.indexOf("DESIRED USER AGENT") != -1) {
// Mobile specific code
}
您应该会发现以下主题很有帮助:Auto detect mobile browser (via user-agent?)
【讨论】:
您可以使用 Modernizr:
Modernizr 创建一个元素,在该元素上设置特定的样式指令,然后立即尝试检索该设置。理解指令的网络浏览器会返回一些合理的东西;不理解它的浏览器将不会返回任何内容或“未定义”。 Modernizr 使用结果来评估网络浏览器是否支持该功能。
例如:
if ( Modernizr.touch ) {
// mobile
} else {
// desktop
}
以下链接有一些用于检测浏览器的 javascript 内置函数:
【讨论】:
查看mobile detect。它可能对你想要的有点多,但它很全面。
【讨论】: