PHP&<noscript>组合在浏览器中检测启用的JavaScript

它是否正确? 如果不是什么是正确的语法

我是新来的PHP,因此试图学习。

    <?php
    // Check browser for JavaScript support

        $jsSupport='true'; ?>

        <noscript><?php $jsSupport='false'; ?></noscript>

        <?php
        if ($jsSupport == 'false') {

        include ('no-script-layout.php');

        } else {

        include ('regular-layout.php');

        }

     ?>

还是有更好的方法来处理这个问题?


<noscript>标签

您可以使用noscript标记向javascript浏览器显示内容,并将其重定向到另一个页面(例如nojs-version.php )。

<!-- Redirect to another page (for no-js support) (place it in your <head>) -->
<noscript><meta http-equiv="refresh" content="0;url=nojs-version.php"></noscript>    

<!-- Show a message -->
<noscript>You don't have javascript enabled! Please download Google Chrome!</noscript>

Modernizr的

处理javascript检测(&feature)的更好的方法是使用Modernizr:http://modernizr.com

看看这个SO问题:HTML“no-js”类的目的是什么?

一个基本的例子(没有Modernizr)

您可以将页面加载类no-js添加到<body>标记中。 然后在页面加载时,如果启用JavaScript,您可以更换no-jsjs像这样:

// When the DOM is ready & loaded, do this..
$(document).ready(function(){
    // Remove the `no-js` and add the `js` (because JS is enabled (we're using it!)
    $('body').removeClass('no-js').addClass('js');

    // Assign it to a var so you don't traverse the DOM unnecessarily.
    var useJS = $('body').hasClass('js');
    if(useJS){
        // JS Enabled
    }
});

上面的代码是modernizr工作原理的一个非常基本的例子。 我强烈建议使用它。

检查Modernizr


要做到这一点(如果你真的需要从PHP知道用户是否启用了JS):

<script>
// AJAX call to your PHP script to tell it that JS is enabled
</script>

不,那是不正确的。 所有的代码都被解释了,为什么你使用字符串而不是实际的布尔值? 更不用说,您在if语句中使用赋值运算符而不是比较运算符。

链接地址: http://www.djcxy.com/p/96875.html

上一篇: PHP & <noscript> combination to detect enabled JavaScript in browser

下一篇: what is the meaning of no