如何检测JavaScript是否被禁用?

如何检测JavaScript是否被禁用?

今天早上有一篇文章询问有多少人禁用了JavaScript。然后,我开始想知道可以使用什么技术来确定用户是否禁用了它。

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

最后,我希望将它们重定向到能够在没有JS的情况下工作的内容,但我需要将此检测作为占位符开始。


交互式爱情
浏览 1371回答 4
4回答

ibeautiful

我假设您正在决定是否提供JavaScript增强的内容。最好的实现会彻底降级,这样站点仍然不需要JavaScript就能运行。我还假设您指的是服务器端检测,而不是使用<noscript>因为一个无法解释的原因。没有一种很好的方法来执行服务器端JavaScript检测。作为另一种选择,可以使用JavaScript设置cookie,然后在随后的页面视图上使用服务器端脚本对该cookie进行测试。然而,这不适合决定交付哪些内容,因为它将无法区分没有cookie的访问者与新访问者或阻塞cookie的访问者。

慕桂英546537

我想在这里加上我的.02。它不是100%防弹的,但我认为它足够好。对我来说,问题在于,如果没有Javascript,您需要确保您的站点在没有Javascript的情况下正常工作,这是一个更好的例子:“如果没有Javascript,这个站点就不能很好地工作。”一旦你开始沿着这条路走下去,你就会开始意识到,当JS关闭时,这个站点应该是防弹的,这是一大部分额外的工作。所以,你真正想要的是“重定向”到一个页面上,上面写着“打开JS,傻瓜”。但是,当然,您不能可靠地进行元重定向。所以,这里有个建议:<noscript> &nbsp;&nbsp;&nbsp;&nbsp;<style&nbsp;type="text/css"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.pagecontainer&nbsp;{display:none;} &nbsp;&nbsp;&nbsp;&nbsp;</style> &nbsp;&nbsp;&nbsp;&nbsp;<div&nbsp;class="noscriptmsg"> &nbsp;&nbsp;&nbsp;&nbsp;You&nbsp;don't&nbsp;have&nbsp;javascript&nbsp;enabled.&nbsp;&nbsp;Good&nbsp;luck&nbsp;with&nbsp;that.&nbsp;&nbsp;&nbsp;&nbsp;</div></noscript>.在哪里全您的站点中的内容被一个div类“页面保持器”所包装。然后noscript标记中的CSS将隐藏所有的页面内容,而是显示任何您想要显示的“no JS”消息。这就是Gmail看起来所做的.如果它对Google来说足够好的话,它就足够适合我的小站点了。

倚天杖

noscript块在禁用JavaScript时执行,通常用于显示用JavaScript生成的替代内容。<script&nbsp;type="javascript"> &nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;construction&nbsp;of&nbsp;ajaxy-link,&nbsp;&nbsp;setting&nbsp;of&nbsp;"js-enabled"&nbsp;cookie&nbsp;flag,&nbsp;etc..</script><noscript> &nbsp;&nbsp;&nbsp;&nbsp;<a&nbsp;href="next_page.php?nojs=1">Next&nbsp;Page</a></noscript>没有js的用户将获得next_page链接-您可以在这里添加参数,以便在下一页上知道它们是通过JS/non-JS链接来的,还是试图通过JS设置cookie,没有JS意味着JS已被禁用。这两个示例都相当琐碎,易于操作,但您了解了这一点。如果您想了解有多少用户禁用了javascript,那么您可以这样做:<noscript> &nbsp;&nbsp;&nbsp;&nbsp;<img&nbsp;src="no_js.gif"&nbsp;alt="Javascript&nbsp;not&nbsp;enabled"&nbsp;/></noscript>然后检查您的访问日志,看看这个图像被击中了多少次。一个稍微粗糙的解决方案,但它会给你一个很好的想法,百分比为您的用户基础。上面的方法(图像跟踪)对于只支持文本的浏览器或那些根本不支持js的浏览器都不能很好地工作,所以如果你的用户基础主要转向这个领域,这可能不是最好的方法。

繁星点点滴滴

这是对我有用的:如果javascript被禁用,它会重定向访问者。<noscript><meta&nbsp;http-equiv="refresh"&nbsp;content="0;&nbsp;url=whatyouwant.html"&nbsp;/></noscript>
打开App,查看更多内容
随时随地看视频慕课网APP