+1 表示渐进增强。在这里,您可以使用简单的 HTML/CSS 获得基本的、非华而不实的功能,然后获取 JavaScript 代码来补充或用它自己的功能替换该功能。
例如,如果您在页面上有分页导航,其中包含第 1 页、第 2 页等的简单超链接。
<div class="paging">
<ul>
<li><a href="?page=1">1</a>
<li><a href="?page=2">2</a>
<li><a href="?page=3">3</a>
</ul>
</div>
然后你就会有 JavaScript 功能来寻找你的 div.paging 元素并用更优雅的东西完全替换它,例如(在伪代码中)
$('div.paging').each(function()
{
$(this).find('ul').remove();
$(this).append(renderAdvancedPaging());
});
至于它可以被什么替代,它可能是谷歌图像风格的无限滚动(是的,我知道 Bing 首先有它),或者 Twitter 的方法是在底部有一个大的下一页按钮,动态附加下一组结果(查看http://twitter.com/codinghorror - 向下滚动并点击“更多”)。
这种“渐进增强”方法的好处是:
- 适用于禁用 JavaScript 的用户,其中包括精明的用户,以及在严重锁定的公司 Intranet 中工作的用户。
- 辅助功能:使用屏幕阅读器的盲人用户仍然可以使用您的网站。
- 不会在您的页面上执行任何 JavaScript 的搜索引擎仍然可以跟踪您的分页链接并索引这些页面的其他内容。
如果您关心 SEO,最后一点应该是最重要的。
但是,有时您可以合理地忽略渐进增强并构建一个依赖于 JavaScript 并且没有它就无法运行的网站。您通常会为高级“Web 应用程序”或移动优化的 Web 应用程序执行此操作,例如 Google 地图、日历应用程序、使用 <canvas> 元素的 HTML5 绘图应用程序、支持 HTML5 的游戏等。我的规则,任何“基于内容”的东西(博客网站、新闻网站、电子商务商店等)都应该应用渐进增强,而任何“应用程序-y”都可以使用强制 JavaScript。
归根结底,这取决于您正在构建什么以及渐进增强路线是否适合您。
很难获得禁用 JavaScript 人数的统计数据(some here,但它是从 2008 年开始的,this StackOverflow post 从 2008 年开始),但我认为由于越来越多的人数,禁用脚本的可能性越来越小依赖 JavaScript(Google Docs、Maps 等)的 RIA 应用和 HTML5 应用。还要考虑到越来越多的移动互联网设备(iPhone、iPad 等)不允许您禁用 JavaScript。