如果存在NoScript,如何检查NoScript(浏览器插件)并在屏幕顶部包含栏

How to check for NoScript (browser plugin) and include bar at top of screen if NoScript is present?

本文关键字:NoScript 插件 屏幕 包含栏 顶部 浏览器 检查 存在 何检查 如果      更新时间:2023-09-26

NoScript浏览器插件越来越受欢迎。对于我们这些运行严重依赖javascript的网页的人来说,我们如何检查这个插件的存在,并在屏幕顶部用某种"始终存在"的下拉条提醒用户?

事实上,我只是在StackOverflow.com上尝试使用NoScript,发现它们完全符合我的想法!这只是一个简单的javascript浏览器检查吗?

打开Stack Overflow页面的源代码并四处查看。

您可以看到,当没有可用的JavaScript时,他们使用<noscript>-标记来添加额外的内容。

一个简单的手动实现是这样做的:

HTML:

<div id="requireJS">This site requires JS!</div>

脚本:

var warning = document.getElementById('requireJS');
warning.parentNode.removeChild(warning);

这将在禁用JS时显示警告,并在启用JS时将其删除。

注意:我并不是说它比<noscript>更好,只是也可以这样做。

使用agam360中的Answer,以防有人像我一样再次搜索NoScript插件。

如何检测JavaScript是否被禁用?

最具体地说,Hairbo的答案似乎是我认为的最好的解决方案,适用于已经开发的网站,这些网站不会出现优雅的降级:https://stackoverflow.com/a/3926750/646456

实际上我喜欢这种风格的方法,这样你就可以很容易地隐藏/取消隐藏任何东西。

在默认样式表上:

.nojs { display:none;}

在布局html:

<noscript>
    <style> 
        .nojs { display:block }
        .container {display:none}
    </style>
</noscript>
<div class="container">
    this will show with js
</div>
<div class="nojs">
    this will show without js
</div>