我想测试用户的浏览器window.width是否> = 800px 如果是这样我想渲染部分A,否则如果window.width> = 800px。
我没什么经验,请解释我的实施选择: 我期待页面上的javascript方法或jQuery。
我试过了
http://scottwb.com/blog/2012/02/23/a-better-way-to-add-mobile-pages-to-a-rails-site/
但 1.它对我不起作用。 2.即使它确实如此,我预计它将基于使用的设备,而不是像素数。
提前谢谢!
答案 0 :(得分:2)
您可以使用Ahoy。 current_visit方法包含以下信息。
当有人访问您的网站时,Ahoy创建了很多访问 有用的信息。
流量来源 - 引荐来源,引荐域名,着陆页,搜索
关键字位置 - 国家,地区和城市
技术 - 浏览器,操作系统, 和设备类型
utm参数 - 来源,媒介,期限,内容, 运动
答案 1 :(得分:1)
请求不会包含有关屏幕大小的数据,因此在常识中,服务器无法知道屏幕宽度和服务响应的内容,正如PinnyM在评论中也提到的那样。
一般做法是使用User Agent从服务器检测移动设备。用户代理是请求的一部分。它不是100%准确,但在大多数情况下,你仍然可以依赖它。
但是,您的问题仍有解决方案 - 根据屏幕尺寸提供服务页面。
解决方法是首先使用Javascript检测屏幕大小,然后使用JS删除cookie。服务器能够读取cookie并决定要呈现的模板。
基本仓库在这里:https://github.com/mattstauffer/Simple-RESS它适用于PHP,但您可以从源代码中获取想法。
还有Rails实现:https://github.com/matthewrobertson/ress和简介:http://matthewrobertson.org/blog/2013/02/15/introducing-ress/
我的观点:我不喜欢这个解决方案,尽管它是可行的。许多工作要做和许多事情要照顾。我宁愿用户代理检测用户。
答案 2 :(得分:0)
听起来像使用响应式前端框架可能需要关注。我是基金会的忠实粉丝,使用Rails应用程序非常容易。新版基金会今天刚推出!看看:http://foundation5.zurb.com/