[英]What is Progressive Enhancement?
Jeff 在谈到使用 JQuery 编写 stackoverflow 时提到了 'Progressive Enhancement' 的概念。
快速谷歌后,我发现了一些关于它的高层讨论。
任何人都可以推荐一个作为程序员开始的好地方。
具体来说,我一直在 8832478985188 中编写 web 应用程序,并想使用 YUI 来改进我正在编写的页面,但其中很多看起来非常基于 JavaScript,大部分驴工作都是使用 JavaScript 完成的。对我来说,这似乎有点矫枉过正,因为在没有 Javascript 的情况下查看网站可能会破坏大部分内容。
任何人都有一些好的地方可以开始使用这个想法,我真的不关心语言。
理想情况下,我想看看您如何首先开始创建 static HTML,然后将 YUI(或任何 Ajax 框架)添加到其中,以便您获得更丰富的客户端的好处?
正如你所说
对我来说,这似乎有点矫枉过正,因为在没有 Javascript 的情况下查看网站可能会破坏大部分内容。
这不是渐进式增强。 渐进增强是指网站在没有 JavaScript 或 CSS 的情况下完美运行,然后添加(分层)这些额外的技术/代码以提高网站的可用性和功能。
我能给出的最好的例子是这个网站上的标签输入框。 在关闭 JavaScript 的情况下,它仍然可以让您输入用空格分隔的标签。 启用 JavaScript 后,您会得到一个下拉列表,其中包含以前条目的建议。
这是渐进式增强。
另请参阅Unobtrusive Javascript ,它是构建渐进式增强的基石。
从另一个方向进行处理有时被称为优雅降级。 当网站首先使用各种技术提供的增强功能构建,然后修改为优雅降级时,通常需要使用这些技术的浏览器不可用。
在设计与旧浏览器(互联网术语中的古老)(例如 IE 5.5、Netscape 等)一起使用时,它也是一种优雅的降级...
在我看来,优雅地降级应用程序需要做更多的工作。 逐步增强它往往会更有效率; 然而,有时需要采用现有的应用程序并使其在这些缺乏的环境中可以访问。
基本上,如果您的网站在关闭 JavaScript 的情况下仍能正常工作,那么您使用 JavaScript 添加的任何内容都可以被视为渐进式增强。
有些人可能认为这是不必要的,但很多人使用 NoScript 等插件浏览(或者,在浏览器设置中简单地关闭 JavaScript)。 此外,许多移动网络浏览器可能支持也可能不支持 JavaScript。 因此,使用和不使用 JavaScript 完全测试您的网站总是一个好主意。
渐进增强:
这是一个如此重要的概念,让我感到难过的是,很少有 Web 开发人员理解它。
基本上,首先用普通的旧 HTML 构建站点/框架——结构元素、链接和表单。 然后添加一些风格和闪亮的东西(Ajax 或你有什么)。
这不是很难。 就像palehorse说的,优雅的退化是更多的工作。
网站应该在任何用户代理中工作,看起来不一样(如果你的视力受损,即使看起来也不一样,但声音),只是工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.