我有一个页面
http://www.zen76171.zen.co.uk/aaa2.html
用这个 HTML
<!doctype html>
<html>
<head>
<noscript>aaa</noscript>
<script>document.write("bbb")</script>
</head>
<body>
ccc
</body>
</html>
我知道如果浏览器没有运行 javascript,noscript 标签的内容应该运行。
在 chrome 或 firefox 中,没有任何扩展阻止任何东西,我得到 bbb ccc 的输出。很好,很有道理。'bbb' 显示是因为允许使用 javascript,而 ccc 显示是因为它将显示是否启用了 javascript。
然后我尝试在 Firefox 中安装 NoScript https://addons.mozilla.org/en-GB/firefox/addon/noscript/
现在,当我重新加载我提到的页面时http://www.zen76171.zen.co.uk/aaa2.html
它显示ccc
。这向我表明脚本被阻止了,所以这部分很好。
但我期望的输出是aaa ccc
,因为我希望“aaa”在脚本被禁用时显示,并且脚本被禁用。
还有一个我要解决的次要问题,那就是如果我从 Firefox 中禁用甚至“删除”NoScript,那么我仍然会得到与“ccc”相同的响应,我必须卸载并重新安装 Firefox 才能删除 NoScript。但就目前而言,当我想删除 NoScript 时就可以了。
这个问题是:为什么它只显示'ccc'而不是'aaa ccc'?
添加
我实际上只得到了与“uBlock Origin”一起显示的“ccc”。如果我安装“uBlock Origin”,并选择保持原样而不禁用脚本,那么我会得到“bbb ccc”(很好)。而如果我单击以禁用页面上的脚本,则会得到“ccc”。'aaa' 未显示。