5

我想测试用户的浏览器 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. 即使它确实我期望它会根据正在使用的设备工作,而不是像素数。

先感谢您!

4

3 回答 3

2

你可以使用Ahoy。current_visit 方法包含以下信息。

当有人访问您的网站时,Ahoy 会创建包含大量有用信息的访问。

流量来源 - 引荐来源、引荐域、登录页面、搜索
关键字位置 - 国家、地区和城市
技术 - 浏览器、操作系统和设备类型
utm 参数 - 来源、媒介、术语、内容、活动

于 2015-03-31T08:13:33.853 回答
1

请求不会包含有关屏幕大小的数据,因此在常识中,服务器无法知道什么是屏幕宽度以及要提供什么响应,正如 PinnyM 在评论中提到的那样。

一般的做法是使用用户代理从服务器检测移动设备。用户代理是请求的一部分。它不是 100% 准确的,但在大多数情况下你仍然可以依赖它。

但是,您的问题仍有解决方案 - 根据屏幕尺寸提供页面。

解决方法是先用 Javascript 检测屏幕大小,然后用 JS 丢弃 cookie。服务器能够读取 cookie 并决定渲染哪个模板。

基本的 repo 在这里:https ://github.com/mattstauffer/Simple-RESS它适用于 PHP,但您可以从源代码中获得想法。

还有 Rails 实现:https ://github.com/matthewrobertson/ress和介绍: http: //matthewrobertson.org/blog/2013/02/15/introducing-ress/

我的意见:我不喜欢这个解决方案,尽管它是可行的。很多工作要做,很多事情要照顾。我宁愿使用用户代理检测。

于 2013-05-21T04:58:54.660 回答
0

听起来像使用响应式前端框架可能需要研究一下。我是 Foundation 的忠实粉丝,它非常容易与 Rails 应用程序一起使用。而今天刚刚推出的新版Foundation!看看: http: //foundation5.zurb.com/

于 2013-11-21T21:40:47.470 回答