*页面加载后检测Javascript被禁用*

时间:2014-03-08 01:28:22

标签: html pageload javascript

我发现了一些关于如何处理Javascript被禁用的帖子正在/之前正在加载页面。但是,有没有办法检测用户 >页面加载后是否禁用了Javascript,以便在最后一分钟隐藏内容?

4 个答案:

答案 0 :(得分:2)

  • 在setInterval上使用死人开关。如果它没有触发触发器,那么你需要在没有javascript gremlins销毁它之前隐藏该内容。如何在没有javascript的情况下隐藏它?在CSS动画和Javascript之间进行竞争。这样如果javascript不存在CSS动画(隐藏内容),就赢了。而且,内容是隐藏的。

  • 尝试向服务器发送HTTP请求?如果ping没有到达,则可以禁用javascript。

  • 使用noscript标记通知用户在禁用javascript的情况下的各种事情,例如用户已禁用javascript的事实

  • 将表单放在noscript标记中,要求用户告诉您javascript已被禁用,或以其他方式向您的网站发送有关其浏览体验的反馈,而无需使用javascript

  • 检查UserAgent标头是否包含Lynx?

答案 1 :(得分:1)

您可以使用 Cookie 查看特定用户是否在其浏览器上禁用了JS。您可以假设您的JS使用某些键值对设置了Cookie,例如js-enabled=true

下次加载页面时,如果cookie不包含启用了js的密钥,那么您就知道页面上已禁用JS,服务器会相应地返回内容。

现在,您的问题:

  

页面加载后是为了在最后一分钟隐藏内容?

即使您知道浏览器上禁用了JS,您将如何隐藏内容。你再次需要执行JS来操作DOM,这在我被禁用JS时是不可能的。因此,当您的服务器知道JS被禁用然后返回没有您要隐藏的内容的页面时,其中一个解决方案可以是

答案 2 :(得分:0)

有一种方法可以在加载前禁用javascript时显示警告:编写一个带有jscript禁用警告的div元素,并在加载网页时使用jscript将其隐藏。禁用javascript时无法显示警告,因为需要javascript来更改网页的任何部分。

答案 3 :(得分:0)

如果您的应用程序能够经得起日志检查 - 我会说,每分钟左右,使用ajax来调用 后端 - 然后记录时间。如果后端检查并且上次登录时间基本上没有 - 那么关闭应用程序。