2

我想将特定年龄的所有浏览器分流到他们自己的页面。这样做的最佳方法是什么?也许标题中的一些 JS 包含在:

 <!--[if lte IE 7 ]>
    <script type="text/javascript">
        window.location = "/unsupported-browser/";
    </script>
    <![endif]-->

以上不应该将浏览器发送到:http ://example.com/unsupported-browser/我有一个基本的控制器和视图来处理它吗?就这么简单吗?

4

2 回答 2

16

改为在 php 中执行此操作。使用user_agent 类重定向到该页面。

但更重要的是,你为什么不让 IE 用户访问你的网站呢?是因为 CSS 还是其他原因?

代码:

$this->load->helper('url');
$this->load->library('user_agent');

if ($this->agent->browser() == 'Internet Explorer' and $this->agent->version() <= 7)
    redirect('/unsupported-browser');

编辑:

如前所述; 如果您想在整个站点上使用它,请在MY_Controller中运行它并确保添加$this->uri->segment(1) != 'unsupported-browser'为额外条件以避免重定向循环。

于 2012-04-20T07:58:00.857 回答
2

从http://mobiledetect.net下载库

将 Mobile_Detect.php 放入“库”

主控制器内部

public function index() {
    $this -> load -> library('Mobile_Detect');
    $detect = new Mobile_Detect();
    if ($detect->is('Chrome') || $detect->is('iOS')) {
        // whatever you wanna do here.
    }
}

在https://dwij.net/mobile-os-detection-in-php-codeigniter上查找文档

于 2013-12-11T12:52:04.863 回答