0

如何检测特定请求是否来自桌面?

我已经在 J​​avaScript 中尝试过这个解决方案:

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

它可以工作,但这仅适用于触摸和非触摸设备,而今天的一代有触摸笔记本电脑和屏幕。

任何人都可以提出一些解决方案,让我们可以适当地检测除所有其他设备之外的桌面吗?

4

1 回答 1

0

我在 ruby​​ 中发现了一个技巧,并且成功了。我正在使用browser gem它告诉您请求设计是否是“移动or平板电脑”。

如果它不是移动设备而不是平板设备,我只是否定响应并将其视为桌面。

更详细的说明是安装 gem 后的代码片段。这是参考

需要“浏览器”

browser = Browser.new(:ua => request.user_agent, :accept_language => "en-us")

if !browser.mobile? && !browser.tablet?
@device = "桌面"
结束

于 2013-10-21T09:56:00.947 回答