快速推出谷歌后,我发现了几个关于它的高层讨论。
任何人都可以推荐一个好的地方开始作为程序员。
具体来说,我一直在用PHP编写Web应用程序,并希望使用YUI来改进我正在编写的页面,但是其中很多看起来都是基于JavaScript的,大部分驴工作都是使用JavaScript完成的。对我来说,这看起来有点矫枉过正,因为在没有Javascript的情况下查看网站可能会破坏其中的大部分内容。
任何人都有一些好的地方可以开始使用这个想法,我并不真正关心这种语言。
理想情况下,我想了解如何首先开始创建静态HTML,然后将YUI(或任何Ajax框架)添加到其中,以便获得更丰富客户端的好处?
答案 0 :(得分:14)
正如你所说
对我而言,这看起来有点矫枉过正,因为在没有Javascript的情况下查看网站可能会破坏其中的大部分内容。
这不是渐进增强。渐进增强是指网站在没有JavaScript或CSS的情况下完美运行,然后 添加(分层)这些额外的技术/代码,以增加网站的可用性和功能。
我能给出的最好的例子是本网站上的标签输入框。关闭JavaScript后,它仍然可以让您输入用空格分隔的标签。启用JavaScript后,您会看到以前条目的建议下拉。
这是渐进式增强。
答案 1 :(得分:10)
另见Unobtrusive Javascript这是基础渐进增强的基础。
答案 2 :(得分:4)
我在tutorial创建了一项使用渐进式增强功能的民意调查时写了NETTUTS。我们的想法是使用XHTML / CSS和PHP创建一个功能站点,然后使用Javascript拦截表单等。 (我使用了JQuery)。
答案 3 :(得分:3)
从另一个方向走向它有时被称为优雅退化。当首先构建站点时,通常需要使用各种技术提供的增强功能,然后修改这些功能,以便在没有这些技术的浏览器中优雅地降级。
在设计使用旧版浏览器(Internets术语中很古老)时,例如IE 5.5,Netscape等,也是优雅的降级......
在我看来,优雅降级应用程序要做得更多。逐步增强它往往更有效率;但是,有时需要使用现有的应用程序并使其在这些缺乏环境中可访问。
答案 4 :(得分:3)
基本上,如果您的网站仍然可以关闭JavaScript,那么您使用JavaScript添加的任何内容都可以被视为渐进式增强。
有些人可能会认为这是不必要的,但很多人会使用NoScript等插件进行浏览(或者,只需在浏览器设置中关闭JavaScript)。此外,许多移动网络浏览器可能支持也可能不支持JavaScript。因此,使用和不使用JavaScript完全测试您的网站总是一个好主意。
答案 5 :(得分:3)
渐进增强是一种开发技术,强调语义HTML的首要地位,然后测试浏览器 - 功能并有条件地“分层”JavaScript和/或CSS增强功能,以便浏览器可以利用这些功能增强。
其中一个关键是理解我们正在测试浏览器可以做什么,而不是浏览器嗅探。 Modernizr是一个非常流行的浏览器功能测试套件。
渐进式增强本质上(第508节)是可访问的;它规定符合法律条文和的规则精神。
Filament Group撰写了关于这一主题的优秀“Designing With Progressive Enhancement”书。 (我与Filament Group没有任何关系,虽然他们非常聪明,我希望我是。)
答案 6 :(得分:2)
这是一个非常重要的概念,令我感到很难过的是,很少有网站开发人员理解它。
基本上,首先在Plain Old HTML中构建一个站点/框架 - 结构元素,链接和表单。然后添加一些样式然后闪亮的东西(Ajax或你有什么)。
这不是很困难。就像palehorse所说的那样,优雅的退化是更多的工作。
网站应该在任何用户代理中工作,看起来不一样(如果您的视力受损,甚至看起来不是声音),只是工作。
答案 7 :(得分:2)
渐进式增强: