繁体   English   中英

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

[英]How can I detect mobile browsers without checking HTTP headers?

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

我想知道检测移动浏览器而不嗅探头的最佳方法,原因很简单,这可以在桌面计算机上修改插件。

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

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

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

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

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

是很好的阅读。

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

一些概念性的例子是HERE

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM