当我第一次阅读网络标准课程中unobtrusive JavaScript的原则时,我认为这是一件非常棒的事情。
不引人注目的JavaScript更像是一种编程哲学,而不是一种技术。到目前为止,它最重要的组件是清楚地了解哪个功能属于哪个层。所有绝对关键的网站功能都应该用纯HTML编写,但是一旦你创建了这个基础,就可以在基础之上添加一个JavaScript层,以便为支持它的浏览器提供更好,更清晰,更快速的界面。 / p>
此外,不引人注目的JavaScript:
分隔结构和行为,以便制作代码 更清洁和脚本维护
预先阻止浏览器不兼容
- 醇>
使用干净的语义HTML图层
对于我目前的项目,我使用这种方法。当我把JavaScript关闭以进行其他一些我必须做的工作时,我很惊讶有多少网站在没有JavaScript的情况下完全被破坏:缺少功能,以及缺少很多重要信息,这些信息根本不存在DOM。
这些特别是社交网站。这种情况应该不足为奇,所需的开发时间和用户体验可能比可访问性更重要。
我仍在问自己,不引人注目的JavaScript是不是已经过时了。我的意思是哪个浏览器本身不支持JavaScript?它仍然是适合2012年的方法吗?我开始怀疑它。
答案 0 :(得分:17)
有两种方法可以使用网站和使用JS:
JS作为增强功能
这些类型的网站就像“文件”,在某种意义上它们类似于报纸,书籍和信件。您不需要花哨的效果来阅读和使用内容。随之而来的是渐进式增强:构建基本功能并在不牺牲目的的情况下增加复杂性。
大多数(大型)网站使用此方案即使在使用无能力的浏览器时也能保持其有用性。一个例子是StackOverflow,它甚至可以在lynx命令行浏览器上运行!
______
| JS | - JavaScript for (optional) enhancements
|------|
| CSS | - CSS for (optional) style
|------|
| HTML | - (mandatory) HTML with base content
'------'
JS作为平台
对于网络应用程序,它们是基于JS构建的实时,动态内容和功能,而HTML和CSS作为视图,这是合理的(更像是强制性的)。它是其他编程语言的同义词,在这些语言中,您可以使用类似库和插件的程序(无UI)“无头”。
这种方法带来了优雅的退化:“仅在一定程度上支持向后支持,否则你根本不支持”
____________
| HTML | CSS | - (optional) HTML and CSS view
|------------|
| JS | - (mandatory) JS platform
'------------'
它通常归结为“它是文档还是应用程序?”的问题。
答案 1 :(得分:3)
不同的公司采取不同的方法。例如谷歌的搜索使用不引人注目的javascript,优雅降级,但对于GMail,他们维护一个单独的HTML网站,他们后来在GMail JS版本之后开发。
对我来说,这取决于
决定是使用不显眼的JS进行优雅降级,还是构建专用的HTML网站或完全忽略该用户群。