【问题标题】:More elegant <noscript> solution?更优雅的 <noscript> 解决方案?
【发布时间】:2012-10-14 21:18:21
【问题描述】:

&lt;noscript&gt; tag 可用于在用户关闭脚本时显示消息 - 但有什么方法可用于包含条件 (html) 语句或更复杂的编码?

编辑:对不起,也许我不清楚;我没有反对 noscript 标签本身 - 但想知道它使用的向上限制吗?据我所知,它的用途只是告诉人们打开脚本。我正在考虑可访问性方面的潜力。

【问题讨论】:

  • &lt;noscript&gt; 标签可以包含任何你想要的 HTML 标记。
  • 您可以使用 CSS 将容器元素的显示设置为无,然后使用 javascript 将显示属性设置为使用 javascript 阻止/内联。
  • @Chandu 你为什么要这样做而不是把内容放在&lt;noscript&gt; 块中?
  • @Pointy :啊,但是如果你有让我们说一个javascript菜单;如果有人关闭了脚本,那么在 noscript 标签之间嵌套一个备用纯 CSS 菜单会是糟糕的设计吗(就像有人使用 ie7 时可能有一个备用样式表一样)?
  • @Pointy 如果 OP 真的不想使用 noscript 标签,这只是一种选择。

标签: javascript html noscript


【解决方案1】:

&lt;noscript&gt; 有什么问题?它可以包含您想要的任何内容。从整个布局,到&lt;style&gt; 元素,再到一条大胖警告消息。

显然,您不能在其中使用 JavaScript,但除此之外,您可以做任何事情。

【讨论】:

    【解决方案2】:

    你可以这样做:

    <div id="removeIfJS">Sorry, but javascript is disabled</div>
    <script>
     var sorry = document.getElementById("removeIfJS");
     sorry.parentNode.removeChild(sorry);
    </script>
    

    【讨论】:

    • 这真的比&lt;noscript&gt; 不需要代码的简单性更好吗?
    • @Pointy - 这只是一种选择。
    【解决方案3】:

    坚持使用 noscript 标签,因为它是解决问题的标准方法。搜索引擎知道如何处理它,屏幕阅读器知道如何处理它,关闭 javascript 的人会看到一个花哨的警告/消息(带有一些 CSS)。

    顺便说一句:如果脚本也被关闭,您将无法做任何花哨的事情。

    在 noscript 标记中,您可以使用在 body 标记中直接允许的所有元素。有关详细信息,请参阅您提供的链接。

    【讨论】:

      猜你喜欢
      • 2018-04-28
      • 1970-01-01
      • 1970-01-01
      • 2011-03-31
      • 2011-02-13
      • 1970-01-01
      • 1970-01-01
      • 2012-10-25
      • 1970-01-01
      相关资源
      最近更新 更多