繁体   English   中英

检测平板电脑或桌面用户

[英]Detect tablet or desktop user

我计划为台式机和平板电脑用户提供完全独立的布局/设计。 我的应用程序基于 Java。 我的问题是; 1. 检测请求是来自台式机还是平板电脑(iPad/Xoom 等)的最佳方法是什么 2. 这可以在服务器端而不是通过 JS 用户代理字符串来处理吗?

重定向的一个活生生的例子是如果一个人试图访问雅虎。 即如果请求来自桌面浏览器,我们将被重定向到 www.yahoo.com,而如果请求来自像 iPad 这样的平板设备,我们将被重定向到 www.yahoo.com/tablet 我正在计划雅虎的例子。 不知道他们是如何实施的。

I know some of you might be thinking that I should just control 2 separate CSS like desktop.css and tablet.css and detect through CSS media query OR JS user-agent. 但关键是两者之间的布局/设计是如此不同,以至于我无法仅通过 CSS 进行控制,这就是原因,我计划拥有一个单独的平板电脑版本的 web 应用程序并进行重定向。

请让我知道尽可能多的建议。

提前感谢您对此的帮助。

我不得不处理几乎相同的问题,必须区分桌面或非桌面。 我使用 JavaScript 进行客户端检测。 我在我的解决方案中使用 RequireJS,这是我的模块:

define(function(){
    var isTouchDevice = function() {  return window.screenX === 0 && 'ontouchstart' in window || 'onmsgesturechange' in window; };
    var isDesktop = !isTouchDevice() ? true : false;
    return isDesktop;
});

我添加了变量 isDesktop 以提高可读性。

您必须检查 HTTP 请求中的用户代理字符串。 基于此,您将能够识别设备——前提是用户没有更改从设备浏览器发送的用户代理字符串。

暂无
暂无

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

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