Web开发最佳实践 - 如何支持Javascript禁用

Ted*_*ddy 8 javascript seo noscript

当用户未启用JavaScript时,最好的做法是什么?向这类用户提供内容的最佳方式是什么?保持网站可供搜索引擎阅读的最佳方法是什么?

我可以想到两种方法来实现这一点,但不知道什么是更好的(或者如果第三种选择更好):

  1. 依靠元刷新标记将用户重定向到非javascript版本的站点.将元刷新标记包装在noscript标记中,以便那些使用javascript的人忽略它.
  2. 依靠位于body标记内的iframe标记来提供非javascript版本的网站.将iframe标记包装在一个noscript标记中,以便那些使用javascript的人忽略它.

我也很欣赏高调的例子,说明正确或错误的方法.

---------问题的补充-----------

以下是我过去为解决这个问题所做的一个例子:http: //photocontest.highpoint.edu/

我想确保没有更好的方法来做到这一点.

Ric*_*ing 4

您正在谈论优雅降级:设计并使网站能够使用 javascript,然后使网站在关闭 javascript 的情况下仍然可以工作。最简单的方法是在页面顶部附近的某个位置包含 html“noscript”标签,该标签会显示一条消息,表明该网站需要 javascript,否则将无法正常工作。SO 就是一个完美的例子。屏幕顶部的大多数按钮都是通过 JavaScript 运行的。关闭它,你会得到一个漂亮的红色横幅,并且下拉 js 效果消失了。

我更喜欢渐进增强开发。让网站在没有 javascript / flash / css3 / 任何东西的情况下完整运行,然后一点一点地增强它(仍然包括 noscript 标签)以改善用户体验。这可以确保您拥有一个完全正常工作、可读的网站,无论您是否是使用屏幕阅读器或搜索引擎的残疾用户,同时为使用较新浏览器的用户提供良好的用户体验。

底线:对于任何动态生成的内容(例如通过 AJAX 生成的页面元素),必须有一个静态页面替代方案,其中该内容必须通过标准链接可用。如果您使用 javascript 来显示选项卡式内容,请以与网页其余部分一致的方式显示所有内容。

一个例子是http://www.bbc.co.uk/news/关闭 javascript,您将拥有一整页的书面内容、图片、链接等。打开 javascript,您将获得滚动新闻报道、选项卡式内容、滚动图片等等。

我会顽皮地发布维基百科的链接:

渐进增强

优雅的降级