0

我正在使用 Codeigniter,我注意到使用用户代理库我们可以知道用户设备是否是移动设备。基于此,我们可以使用相同的 url 加载一个或另一个视图。像这样的东西:

$this->load->library('user_agent');
$data = array (
     //some data
);
if (!$this->agent->is_mobile()) {
     $this->load->view('test_view',$data);
}
else {
    $this->load->view('test_view_mobile',$data);
}

好吧,它工作得很好,并使用这个:

  • 我们不必放置 css 媒体查询。只需将移动 css 放在 corespondient 视图中即可。
  • 我们不必跟踪移动用户的异常,例如触摸事件或类似事件。
  • 我们可以加载比桌面设备小的图像。因为屏幕尺寸更小。

这些是我意识到的优点。但是缺点呢?使用这种做法是否有任何问题或问题?

4

2 回答 2

2

以下是不使用它的原因——即使库运行良好——新设备总是会出现。如果设备未被识别 - 那么他们将获得全屏版本。

即使您有一个团队并且每个设备都被识别 -您正在为同一个页面创建两个不同的内容资源。这意味着随着您的内容和资源的变化 - 您必须在两个不同的地方进行更改。这存在搜索引擎问题。

所有这些问题都是前端响应式库如此受欢迎的原因——它们解决了这些问题并使您的网站内容在平板电脑上更好地工作。Twitter Bootstrap 是迄今为止最受欢迎的。http://getbootstrap.com https://github.com/twbs/bootstrap

请注意,如果您去了解有关 twitter bootstrap 的更多信息,则 bootstrap 2 和 bootstrap 3(最新版本)之间存在重大变化

于 2013-10-11T23:35:22.587 回答
-1

缺点是:文档很烂。

  • 对于我作为 CodeIgniter 新手来说,目前还不清楚$this指的是什么。
  • 究竟什么是移动设备
  • 哪些移动设备是已知的?
  • 我必须将什么参数传递给函数来测试特定的移动设备?
  • 我已经看到'iphone'已经传递给示例中的函数。这包括所有iPhone 还是仅包括编写该功能时可用的那些?
  • 当函数返回时,我可以假设客户端的哪些特征true
于 2013-10-11T22:34:20.700 回答