代码之家  ›  专栏  ›  技术社区  ›  mipadi

以以下方式显示“no javascript”警告是否存在任何缺陷?

  •  1
  • mipadi  · 技术社区  · 15 年前

    我有一个网页,它有一个评论框,可以通过单击链接来切换(框的打开和关闭是使用javascript控制的,特别是jquery)。这个框在默认情况下是隐藏的,所以很自然,如果不使用javascript,就无法显示。我不关心这个事实:评论框不是一个“必要的”功能,这是一个小的个人网站,所以我不介意一小部分访问者可能没有体验到完整的功能。但是,如果用户没有启用javascript,我想显示一个警告。

    我考虑过这样做的想法:通过显示一个小消息(使用一个简单的HTML <p> 标记)在切换注释框的链接附近,使用以下代码位:

    <p class="alert" id="nojs-warning">You must have JavaScript enabled to leave a comment.</p>
    

    当然,如果javascript 已启用,因此我设置了以下jquery触发器,以便在加载页面时立即隐藏该框:

    $(function() {
        $('#nojs-warning').hide();
    });
    

    因此,如果用户启用了javascript,则事件将触发并隐藏警告;如果用户未启用javascript,则事件 不会 火灾,因此警告仍将显示。

    对于这样一个小的个人网站,这似乎是一个优雅的解决方案。这种方法有什么缺陷吗?

    3 回复  |  直到 15 年前
        1
  •  10
  •   Franci Penov    15 年前

    为什么不使用 <noscript> 标签?这就是它的目的。

        2
  •  0
  •   Paulo    15 年前

    唯一明显的问题是,即使启用了javascript,函数也不会运行。是否有特殊原因不使用内置于HTML中的标记?它可能会做同样的事情,但不需要使用JavaScript。 link text

        3
  •  0
  •   Jonathan Leffler    13 年前

    更好的是:为什么不把评论框放在网站上,然后用javascript为那些使用javascript的人隐藏它呢?那么每个人都可以使用它,对吗?