您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何检测是否禁用了JavaScript?

如何检测是否禁用了JavaScript?

我假设你正在尝试确定是否提供JavaScript增强的内容。最好的实现会明显降级,因此该站点仍可以在没有JavaScript的情况下运行。我还假设你的意思是服务器端检测,而不是<noscript>出于无法解释的原因使用元素。

没有执行服务器端JavaScript检测的好方法。作为替代方案,可以使用JavaScript设置cookie,然后在后续的页面浏览中使用服务器端脚本测试该cookie。但是,这将不适合确定要传递的内容,因为它将无法区分没有cookie的访问者与新访问者或阻止cookie的访问者。

我想在这里添加我的.02。它不是100%防弹的,但我认为它足够好。

对我来说,问题是出现“没有Javascript站点无法正常运行”消息的首选示例,那么你需要确保你的站点在没有Javascript的情况下可以正常运行。一旦走上了这条路,你便开始意识到该站点应该在关闭JS的情况下是防弹的,这是一大堆额外的工作。

因此,你真正想要的是“重定向”到显示“打开JS,傻”的页面。但是,当然,你不能可靠地执行元重定向。所以,这是建议:

<noscript>
    <style type="text/css">
        .pagecontainer {display:none;}
    </style>
    <div class="noscriptmsg">
    You don't have javascript enabled.  Good luck with that.
    </div>
</noscript>

… 你网站中的所有内容都被一个“ pagecontainer”类的div包裹。然后,noscript标记内的CSS将隐藏所有页面内容,而是显示你要显示的任何“ no JS”消息。这实际上就是Gmail的功能……如果对Google足够好,那么对我的小网站也足够了。

javascript 2022/1/1 18:20:59 有503人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶