0

有没有知道我是在台式机还是移动设备上运行。

由于桌面响应能力不同,我想知道用户是否可以旋转屏幕。

4

5 回答 5

0

您可以使用脚本来查找您的浏览器用户代理字符串。每个浏览器都有不同的用户代理。Mac 上的 Safari 和 iPhone 上的 Safari 也有不同的用户代理。

我不完全确定你的意思,你想像 javascript 一样知道你在什么类型的设备上吗?

于 2013-10-14T03:36:06.197 回答
0

我认为您可以使用modernizr来检测浏览器行为。

触摸事件 touch

Modernizr.touch 测试仅指示浏览器是否支持触摸事件,这不一定反映触摸屏设备。例如,Palm Pre / WebOS(触摸)手机不支持触摸事件,因此无法通过此测试。此外,Chrome(桌面版)曾经谎称它对此的支持,但此后已得到纠正。Modernizr 还通过媒体查询测试多点触控支持,这是 Firefox 4 为 Windows 7 平板电脑提供的多点触控支持。有关详细信息,请参阅 Modernizr 触摸测试。

建议同时设置触摸鼠标事件,以适应混合设备 - 请参阅触摸和鼠标 HTML5 Rocks 文章。

于 2013-10-14T03:43:17.920 回答
0

下面将为您提供用户代理。

navigator.userAgent

然后你可以使用类似的东西:

if(navigator.userAgent.indexOf("DESIRED USER AGENT") != -1) {
    // Mobile specific code
}

您应该会发现以下线程很有帮助:自动检测移动浏览器(通过用户代理?)

于 2013-10-14T03:47:39.283 回答
0

您可以使用 Modernizr:

Modernizr 创建一个元素,在该元素上设置特定的样式指令,然后立即尝试检索该设置。理解指令的网络浏览器会返回一些合理的东西;不理解它的浏览器将不会返回任何内容或“未定义”。Modernizr 使用结果来评估 Web 浏览器是否支持该功能。

例如:

if ( Modernizr.touch ) {
// mobile
} else {
// desktop
}

以下链接具有一些用于检测浏览器的 javascript 内置函数:

http://www.quirksmode.org/js/detect.html

于 2013-10-14T03:52:56.557 回答
0

检查移动检测。对于您想要的东西可能有点多,但它很全面。

于 2013-10-14T03:55:24.437 回答