如何在不检查HTTP标头的情况下检测移动浏览器?

时间:2012-09-08 23:20:44

标签: javascript html5 browser-detection mobile-browser

在告诉我之前只有在阅读了我的标题后才提出问题之前,请进一步阅读。

我想知道在没有嗅探标题的情况下检测移动浏览器的最佳方法,原因很简单,这可以在桌面计算机上修改插件。

这样做的原因是我正在构建HTML5游戏,我不希望它在桌面计算机上播放。如果我发生这种情况,最终可能会被自动机器人播放。

我能想到的唯一方法是比较offsetWidth的Javascript document/window,并将其与可能尺寸列表进行比较。但是,我相信在不久的将来,手机和平板电脑的屏幕分辨率将与台式电脑的屏幕分辨率相近,我无法将它们分开。

我的其他选择是什么?当然,Javascript非常受欢迎。

3 个答案:

答案 0 :(得分:2)

如果你担心的是阻止从台式电脑访问,那么你基本上不能。标题可以很容易伪造,跳动浏览器大小检测只是调整窗口的大小...我会说正常的用户代理检测并希望最好。

答案 1 :(得分:0)

CSS3使媒体查询变得更好。它不是使用设备类型(用户代理)的if-then-else逻辑,而是允许我们对屏幕大小进行编码。

Here很好读。

基本理念是,动态适应屏幕尺寸(和其他功能!),并使网站的设计从一开始就证明。

一些概念性示例是HERE

答案 2 :(得分:0)

也许您可以尝试的一件事是在游戏启动时进行某种“解锁”触摸手势。因此,例如将一个圆圈拖到另一个或那些沿着这些线的东西上,这将是:

  1. 要求浏览器触发触摸事件
  2. 每次都可能略有不同的位置/大小,因此难以编写脚本。