如何检查浏览器中是否启用了Javascript

时间:2011-07-28 10:51:05

标签: javascript html

我想知道如何检查浏览器中是否启用了Javascript。我需要这样做以避免服务器端验证。

4 个答案:

答案 0 :(得分:5)

您可以执行各种检查,例如向您从Javascript填写的表单添加隐藏字段。服务器可以检查该值是否设置,如果是,则假设javascript处于活动状态。

但是你永远不应该依赖客户端验证。始终执行服务器端验证。客户端验证只是提高可用性的额外验证。

答案 1 :(得分:4)

你不想要这个。

客户端验证只是直接通知您的用户任何错误填充的字段,但真正的验证应该在服务器端完成。客户端可以更改JavaScript并使其按照自己的意愿行事,因此不可靠。

为什么不总是检查服务器端?这更有利。

答案 2 :(得分:3)

您永远不想避免服务器端验证,只需执行两次。

答案 3 :(得分:1)

如果您只是想检测Javascript是否已启用,因为您的网站要求它有用,或者您对非Javascript用户有不同的布局,则可以使用<noscript>元素。在其中,您可以放置​​您希望用户看到的任何内容,如果他们没有启用Javascript。这可以是简单的消息,也可以是整个页面布局。

<body>
    //normal layout here

    <noscript>
        //message or alternative layout here, Javascript users won't see this.
    </noscript>
</body>

如果你想要一个全新的布局,你需要用这样的东西覆盖其他布局:

演示(代码):http://jsfiddle.net/ThinkingStiff/nK4Ka/
演示(没有JS的页面,因为jsFiddle需要它):http://jsfiddle.net/ThinkingStiff/nK4Ka/show/

HTML:

<div>Hello, Javascript!</div>

<noscript>
    <div>Hello, No Javascript</div>
</noscript>

CSS:

noscript {
    background-color: white;
    height: 100%;
    left: 0;
    overflow: scroll;
    position: fixed;
    top: 0;
    width: 100%;
}