我正在尝试适应没有JavaScript的用户。(顺便问一下,现在的努力值得吗?)
在一个HTML文件中,如果脚本处于打开状态,我希望执行其中的一部分,如果脚本处于关闭状态,则执行另一部分。
<noscript>
标记让我实现了前者,但是如何实现后者呢?如果脚本关闭,我如何标记HTML的一部分,使其不被浏览器解析
发布于 2012-12-13 18:25:03
我一直在寻找这样做的方法,这样我就可以隐藏一个导航下拉菜单,当javascript被启用时,导航下拉菜单将变得不起作用。但是,用于更改显示属性的所有解决方案都不起作用。
因此,我首先做的是为下拉菜单周围的div元素分配一个ID (ddown)。
然后,在HTML文档的head部分中,我添加了以下内容:
<noscript>
<style>
#ddown {display:none;}
</style>
</noscript>
这就起作用了。不依赖于javascript、jquery或任何其他脚本:只需要纯HTML和CSS。
发布于 2009-10-16 19:50:08
默认要隐藏为display:none
样式的位,并使用jQuery或JavaScript打开它们。
发布于 2009-10-16 12:14:48
如果只有在启用JavaScript时内容才有意义,那么应该由JavaScript代码直接插入内容,而不是呈现它。这可以通过在JavaScript代码中使用HTML模板作为字符串来完成,或者如果HTML比较复杂,也可以使用Ajax。
作为mentioned by Reinis I.,这就是Progressive Enhancement的想法。
关于在body标签上使用类名的CSS技术,我建议反过来做,用JavaScript在body标签中添加一个'js-enabled
‘类来改变页面的CSS。这与我上面关于保持所有初始HTML“非JavaScript友好”的评论是一致的。
https://stackoverflow.com/questions/1577598
复制相似问题