提示使用服务器端事件处理程序激活JavaScript



有没有一种方法可以提示用户使用服务器端事件处理程序激活JavaScript,以防JavaScript在他们的电脑上关闭,要求他们按下弹出窗口或指定div中的按钮(我的意思是提交表格)来激活JavaScript?

不,没有办法做到这一点。但是,您可以提供一个<noscript>标签,向用户解释如何打开JS

例如:

<script>alert('hi');</script>
<noscript>Please enable JS by opening preferences panel in your browser</noscript>

您可能希望使用服务器端浏览器嗅探为用户提供最相关的指导(通过告诉他们如何在当前使用的浏览器中进行此操作)。

您可以设置一个具有特定id的div,该id在页面加载时隐藏。然后当页面加载时,你隐藏div。如果他们有js,div就会隐藏。如果他们关闭了它(现在不太可能发生,但不管怎样),那么他们就会看到div.

<div id="hasJsOn">Please turn on javascript for full enjoyment of this page.</div>
<script>
document.getElementById("hasJsOn").style.display = "none";
</script>

您可以检测终端用户的机器上是否启用了JS,并可以通过使用Javascript向表单/链接添加URI Component,将该信息传递给他们访问的下一个页面上的服务器。

示例(未测试的"飞行中"代码):

<form action="postit.php">
  <p>
    <input type="hidden" id="js_detector" value="0">
  </p>
</form>
<script>
  document.getElementById("js_detector").value = 1;
</script>