检测NoScript(不是标签,扩展名)

3zz*_*zzy 15 javascript firefox noscript

NoScript似乎阻止了javascript加载到我的网站上并阻止了对网站非常重要的登录覆盖.

有什么方法可以检测到NoScript扩展并提醒用户吗?

编辑添加:看起来很多你没有得到我,或者我可能不清楚.我不是在谈论<noscript>标签,而是NoScript Firefox扩展,我如何检测用户是否已安装和/或启用它.

小智 20

我使用的方法如下.

<head>
<style>
  .noscript-error {
    background-image: url(noscript.php)
  }
</style>
<style>
  @import url(chrome://noscript/skin/browser.css);
</style>
</head>
<body>
  <div class="noscript-error">If noscript is NOT installed (and enabled) then Firefox will make a request for noscript.php.
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)

这是非常不言自明的.这可以确认NoScript是否未被使用.您只需要在noscript.php中执行任何操作即可在会话中设置禁用NoScript的内容.

:在其他浏览器noscript.php永远被调用,这是不是一个问题becaue即使使用其他浏览器和noscript.php调用,将不使用NoScript的,因为它仅适用于Firefox浏览器.如果你愿意,你可以做自己的魔法来避免这个调用,但是最糟糕的情况是用户代理被欺骗你仍然可以准确地指示是否正在使用NoScript. 更多信息在这里

此外,如果您只想知道服务器端是否启用了JavaScript,您可以使用

<noscript>
    <img src="noJS.php" alt="JavaScript is disabled" />
</noscript>
Run Code Online (Sandbox Code Playgroud)

noJS.php你可以写一个PHP脚本来渲染一个透明像素(PNG或GIF)和脚本设置会话变量中,或储存的信息.

  • 是的,`chrome:`是谷歌Chromium存在之前的事情. (7认同)

Bar*_*mar 16

<noscript>在HTML中使用块:

<noscript>
This site requires Javascript. Please enable Javascript in your browser for this site.
</noscript>
Run Code Online (Sandbox Code Playgroud)

  • 你能指望什么?使用NoScript禁用Javascript.如果有一些方法让你运行一个脚本,它将失败的目的. (6认同)
  • 我刚刚测试了它,当我使用NoScript时,显示了`<noscript>`标签内的文本. (4认同)
  • 这是OP*需要*,但不是*问题要求*.所以这是半正确的我猜. (2认同)
  • @ War10ck无论如何,问题是如何检测*NoScript*扩展.这个问题没有回答这个问题. (2认同)