当前位置:  开发笔记 > 编程语言 > 正文

如何检测JavaScript是否被禁用?

如何解决《如何检测JavaScript是否被禁用?》经验,为你挑选了18个好方法。

今天早上有一篇帖子询问有多少人禁用了JavaScript.然后我开始想知道可以使用哪些技术来确定用户是否禁用了它.

有没有人知道一些短/简单的方法来检测JavaScript是否被禁用?我的目的是发出警告,如果没有启用JS的浏览器,该站点将无法正常运行.

最终我想将它们重定向到能够在没有JS的情况下工作的内容,但我需要将此检测作为占位符来启动.



1> hairbo..:

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

对于我来说,问题是,在没有Javascript的情况下,使用某种"此网站在没有Javascript的情况下工作得不好"的首选示例是您需要确保您的网站在没有Javascript的情况下正常工作.一旦你开始走这条路,那么你就会开始意识到网站应该是防弹的,关闭JS,这是一大堆额外的工作.

所以,你真正想要的是对一个页面的"重定向",即"打开JS,傻".但是,当然,你无法可靠地进行元重定向.所以,这是建议:


... 您网站中的所有内容包含在"pagecontainer"类的div中.然后,noscript标记内的CSS将隐藏您的所有页面内容,而是显示您想要显示的任何"无JS"消息.这实际上是Gmail似乎要做的......如果它对谷歌来说足够好,那对我的小网站来说已经足够了.


@JonasGeiregat如果您的网络应用程序是构建的,强制用户需要Javascript有什么问题 - 并且需要 - Javascript才能运行?我经常听到这个评论,但它只适用于最简单的网站.尝试没有JS的Facebook,看看会发生什么.如果你的应用程序是为Javascript构建的,那么要求99%的用户启用了什么是错的?
@Lee点击钉子,你只能为用户做很多事情,然后再画上你支持的内容.我们希望所有用户都拥有支持互联网的设备,我是否还应该为那些拒绝访问互联网的人实施我的网站的纸质版本?
@Kolors,我在2012年3月发表了这个评论,我认为今天它是真实的.从那时起,我们就拥有了Meteor,Angular.Js,Famo.us以及大量令人惊叹的库,这些库都需要Javascript甚至_start_.我确实想知道那些选择禁用JS的用户实际上是在尝试实现...显然,他们不会像我们其他人一样浏览同一个网站,并且公司没有理由需要缩小他们的网站以获得最小的顽固用户的子集......
@steve曾试图验证google.com?验证只是确定文档在规范表后面的接近程度,它决不会影响页面的可用性.
是的,我想知道为什么我不能回答你的答案,因为我忘了激活我的JS :-))我喜欢并实施你的解决方案!谢谢!
我不喜欢强迫用户启用javascript的想法.如果他不能怎么办?我认为不引人注目的Javascript是几乎所有公共网站的方式.
(9分钟后)但是,它不会验证.好吧,无论如何都要有原创性.
Facebook实际上也没有js的功能,但你被告知要去移动增强版本(或转js).至于"谁不使用js",实际上有很多.首先,数据连接数量有限的人可能会关闭js,那些喜欢他们的手机工作超过几个小时的人(js处理是手机在线的主要电力消耗之一),更不用说安全性我们,在浏览器中使用noscript-extensions等.当然,如果他们想要使用该服务,这些人已经足够先进,知道如何打开它.
一个更好的解决方案是分离样式块:这应该在head部分.@Steve,现在它将验证:)
为什么你不能可靠地进行元重定向?

2> Marc Gear..:

我假设您正在尝试决定是否提供JavaScript增强的内容.最好的实现会干净利落地降低,因此该站点仍然可以在没有JavaScript的情况下运行.我还假设您的意思是服务器端检测,而不是

没有一种很好的方法来执行服务器端JavaScript检测.作为替代方案,可以使用JavaScript设置cookie,然后在后续页面查看时使用服务器端脚本测试该cookie.但是,这不适合决定要传送的内容,因为它无法区分没有cookie的访问者与新访问者或阻止cookie的访问者.


推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有