javascript - 如何检测 JavaScript 是否被禁用?

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

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

最终我想将它们重定向到能够在没有 JS 的情况下工作的内容,但我需要这个检测作为一个占位符来开始。

最佳答案

我想在此处添加我的 .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 将隐藏您的所有页面内容,而是显示您想要显示的任何“无 JS”消息。这实际上是 Gmail 似乎在做的事情......如果它对 Google 来说足够好,那么对于我的小网站来说也足够了。

https://stackoverflow.com/questions/121203/

相关文章:

javascript - 如何在页面加载后执行 JavaScript?

html - 使用 CSS 按比例调整图像大小?

c# - 如何使用 HTML 敏捷包

html - 如何使 "position: absolute"元素居中

javascript - 如何播放音频?

html - 禁用 Chrome 自动填充

html - CSS 背景不透明度

html - 拉伸(stretch)和缩放 CSS 背景

html - 我可以使用 :before or :after pseudo-element on a

javascript - 使用 jQuery 获取元素的类列表