检测是否在codeigniter中启用了JS

时间:2012-10-01 14:48:28

标签: php codeigniter user-agent

  

可能重复:
  Check if JavaScript is enabled with PHP

我需要一种方法来检测codeigniter框架中的用户代理是启用还是禁用javascript

3 个答案:

答案 0 :(得分:1)

您无法直接在服务器端检测到此信息。请查看本文以获取替代解决方案:http://www.untwistedvortex.com/detect-javascript-enabled-php/

答案 1 :(得分:1)

您不会使用HTTP标头获取此信息。但我有一点解决方法:

您可以在用户会话中存储此信息。默认情况下,您建议禁用JS。第一个交付的页面应该执行Ajax-Call到一个脚本,该脚本告诉USER-Session,Javascript已启用。

当然这有一些缺点:

  • 第一个Page-Call是allways no-script
  • 如果用户突然禁用Javascript
  • ,则无法获取相关信息
  • 如果您在脚本和noscript版本之间存在很大差异,搜索引擎可以对您的网页进行评分

有时候,如果在CSS中启用了JS,那么获取信息就足够了。 你可以这样做:

<head>
    <script type="text/javascript">
        // Jquery version
        $(function() {
            $('body').removeClass('noJs');
        });
    </script>
    <style type="text/css">
        .noJs #hello {
             display: none;
        }
    </style>
</head>
<body class="noJs">
    <div id="hello">Hello</div>
</body>

答案 2 :(得分:0)

无法在CodeIgniter或其他框架/纯PHP中进行可靠的检测。

此外,该信息不是标准浏览器标头/用户代理的一部分。