如何检测不同的用户设置?启用Javascript,启用Cookies

时间:2009-11-22 07:04:21

标签: c# javascript jquery asp.net-mvc

我想知道如何首先检测Javascript是否启用/禁用。在此站点上禁用javascript会显示stackoverflow使用称为标记的内容。

这是标准的做法吗?它适用于所有浏览器吗?哪些浏览器版本不起作用(即IE6)?。

我只是粘在我的html页面的正文或头部吗?我看到一个站点教程将其插入脑中,但Visual Studios表示这不是XHtml投诉。

接下来如何检查Cookie是否已启用?你是否使用javascript来解决这个问题?或者你使用服务器端?是否有适用于所有主流浏览器的东西,或者jquery中可以使用的东西?

由于

2 个答案:

答案 0 :(得分:3)

使用<noscript>标记在JavaScript被禁用时显示内容 - 这与“检测”JavaScript是否被禁用完全不同。您无法确定JavaScript是否已启用,因为在大多数浏览器中可用的唯一工具是JavaScript - 如果禁用它,显然您无法使用它。

要处理没有JavaScript支持的客户端(或者已经禁用的支持),您需要使用渐进增强和不引人注目的JavaScript技术。使页面按照您希望它为没有JavaScript的客户端(起点)执行操作,然后使用JavaScript添加其他功能。由于在没有启用JavaScript的情况下不会应用添加内容,因此您可以有效地获得想要实现的内容。

相同的原则适用于cookie - 让它在没有cookie的情况下做你想做的事情,然后在找到它们时添加行为。

答案 1 :(得分:2)

您可以使用<noscript>标记来检测是否禁用了javascript。那么你实际上无法检测到你可以做类似

的事情
<noscript>Javascript is disabled. please enable Javascript</noscript>

也没有正确的方式to check whether cookies are disabled。您所能做的就是在cookie中保存一些内容并尝试检索它们。