【问题标题】:How to check javascript is enabled or not in Node JS server side code如何在 Node JS 服务器端代码中检查 javascript 是否启用
【发布时间】:2017-07-05 19:41:06
【问题描述】:

这是否可以使用 Node js 中的服务器端代码来检查?或者,如果不是,那么我该如何使用 if-else 之类的条件:

if enabled then 
  do this
else
  do that

node.js 项目中,我必须检查用户浏览器是否启用了JavaScript

我知道我们可以在客户端代码中使用<noscript> 标签来检查这个(我正在使用jade)。在 Jade 页面上,我插入了 <noscript> 标签,显示 JavaScript 已禁用的消息。例如

noscript
 .noscriptmsg(style="color:red; padding:15px;")
   | You don't have javascript enabled on your Browser. Please enable to use complete functionality.
   | To know more
     a(href='http://enable-javascript.com/')  
      | Click Here

这样可以向用户显示错误消息。

但我想在node.js 的服务器端代码中了解它。我正在使用express 框架。

如果JavaScript 被禁用,我想为每个页面说明情况,然后用户无法进一步移动,或者如果用户禁用JavaScript,则在运行的应用程序中,应用程序将被重定向到 JS-No Found 页面。

<noscript> 部分中的某种条件部分。

谁能指导我如何在 Node.JS 中检测服务器端的 JS 启用或禁用。

【问题讨论】:

  • 投反对票的人请在那里证明你的投票是正确的。
  • @ÁlvaroTouzón 你能提供任何教程链接吗?
  • 只需将display:none; 设置为真实页面内容并使用JavaScript 显示。禁用 JS 的用户只会看到 noscript 内容。
  • 您可以在<noscript> 块中包含<meta> 标记,以将人们重定向到禁用JavaScript 的用户的特殊URL。如果你愿意,你可以把它放在每页的页眉中。

标签: javascript jquery node.js express


【解决方案1】:

您可以在<noscript> 块中放置<meta> 标记以重定向到某个特殊的URL:

<noscript>
  <meta http-equiv=refresh content='0; url=http://your.domain/noscript'>
</noscript>

您当然不能 100% 确定登陆特殊 URL 的用户在那里,因为他们禁用了 JavaScript,但对于没有做任何奇怪的事情(除了禁用 JavaScript)的人来说,它是有效的。

【讨论】:

  • 好的,我会用这个,但我必须删除这个问题,因为有些用户投票赞成关闭这个问题,嗯..谢谢你的帮助..
  • 但是我正在寻找的答案我仍然没有得到那个
  • 如果你不想@Deep,你不必删除问题。
  • @Deep 您可以使用用户访问特殊 URL 的事实来将该会话标记​​为禁用 JavaScript,但实际上如果您只是将 &lt;noscript&gt; 放在每个标题中您的服务器不应该关心的页面。
  • 是的,我刚刚检查过它正在工作。我怀疑我是在 SO stackoverflow.com/questions/121203 上读到的
【解决方案2】:
  • 您可以在 express 应用上公开 GET / POST 端点 - 例如:/jsenabled/

  • 在 html 页面中 - 准备好文档后,您可以调用 '/jsenabled'

  • 在 jsenabled express 处理程序中 - 从会话/cookies 中推断用户

  • 默认情况下假设用户没有 js,直到你接到这个电话

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-19
    • 2012-11-05
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    相关资源
    最近更新 更多