如何检测特定请求是否来自桌面?
我在JavaScript中试过这个解决方案:
function isDesktop(){
var isTouchDevice = function() { return window.screenX === 0 && 'ontouchstart' in window || 'onmsgesturechange' in window; };
var isDesktop = !isTouchDevice() ? true : false;
}
isDesktop();
它可以工作,但这仅适用于触摸和非触摸设备,而今天的一代有触摸笔记本电脑和屏幕。
任何人都可以建议一些解决方案,我们可以适当地检测除了所有其他设备之外的桌面吗?
答案 0 :(得分:0)
我在红宝石中找到了一个技巧,并且确实起了作用。使用browser gem
告诉您请求设计是否为“移动or
平板电脑”。
如果它不是移动设备而不是平板电脑设备,我只是否定响应并将其视为桌面。
有关更多说明,请参阅安装gem后的代码段。 这是reference
需要“浏览器”
browser = Browser.new(:ua => request.user_agent,:accept_language => “EN-US”)
if!browser.mobile? &安培;&安培; !browser.tablet?
@device =“桌面”
端