【发布时间】:2012-05-03 09:44:52
【问题描述】:
当我第一次在 Web Standard Curriculum 中阅读unobtrusive JavaScript 的原理时,我认为这是一件非常棒的事情。
不显眼的 JavaScript 与其说是一种技术,不如说是一种编程哲学。到目前为止,它最重要的组成部分是清楚地了解哪些功能属于哪个层。所有绝对重要的网站功能都应该用纯 HTML 编码,但是一旦你创建了这个基础,你就可以在基础之上添加一个 JavaScript 层,以便为支持它的浏览器提供一个更好、更清洁、更快的界面。
进一步,不显眼的 JavaScript:
分离结构和行为,以使您的代码 清洁和脚本维护更容易
预先处理浏览器不兼容问题
使用干净的语义 HTML 层
对于我当前的项目,我使用这种方法。当我关闭 JavaScript 进行其他一些我必须做的工作时,我很惊讶有多少网站在没有 JavaScript 的情况下完全崩溃:缺少功能,以及缺少很多重要信息,这些信息根本不存在DOM。
这些网站尤其是社交网站。出现这种情况也就不足为奇了,所需的开发时间和用户体验可能比可访问性重要得多。
我仍然在问自己,不显眼的 JavaScript 是否还没有过时。我的意思是哪个浏览器本身不支持 JavaScript?它仍然是适合 2012 年的方法吗?我开始怀疑了。
【问题讨论】:
-
我认为这取决于网站的类型。新闻网站应该在没有启用 javascript 的情况下显示新闻。我不希望像 google docs 或 facebook 这样的丰富的交互式网站能够正常工作。更重要的是,我不会花额外的钱为一小部分禁用 JavaScript 的人制作交互式网站。
-
@BenClayton 这应该是一个答案
-
不显眼的 javascript 仍然存在,但很多 webdevs 就是不明白:“如果我不能在我的手机上使用你的网站,我就不会购买。”带有不显眼的 javascript 的网站在我的手机上运行良好,而那些带有琐碎功能的网站则不行。
-
问题已经结束,所以我不能将其发布为答案,但是:即使在需要 JS 的地方,不显眼的方法仍然具有作为代码组织技术的价值 - 请参阅您的文章中提到的三点上面引用。使用这种方法比将不相关的代码片段分散在 HTML 文档中要好得多。 无论是否有人也采用渐进增强方法都是如此。 (将其视为将样式保存在单独的 .css 文件中的 JS 对应物,而不是将它们全部内联在 HTML 中。)
-
我认为接受的答案非常好,我不得不问,为什么这个问题被关闭为“不具建设性”?它非常具有建设性,并且越来越相关,并且非常适合挑战一些经常重复和经常被误解的口头禅。
标签: javascript web accessibility paradigms