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

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

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

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

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

———补充问题———–

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

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

解决方法

你说的是优雅降级:设计并使网站使用javascript,然后使网站仍然可以关闭javascript工作.最简单的方法是在页面顶部附近的某处包含html“noscript”标记,该标记显示该网站需要javascript或内容无法正常工作. SO就是一个很好的例子.屏幕顶部的大多数按钮都是通过javascript运行的.关掉它,你得到一个漂亮的红色横幅,下拉js效果消失了.

我更喜欢渐进增强开发.无需javascript / flash / css3 /无论如何让网站全部工作,然后一点一点地增强它(仍包括noscript标签)以改善用户体验.这确保您拥有一个完全可以工作,可读的网站,无论您是使用屏幕阅读器还是搜索引擎的残疾用户,同时为使用较新浏览器的用户提供良好的用户体验.

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

一个例子是http://www.bbc.co.uk/news/关闭javascript,你有一整页的书面内容,图片,链接等.打开JavaScript,你得到滚动新闻故事,标签内容,滚动图片等.

我会调皮并发布维基百科的链接

Progressive Enhancement

Graceful Degredation

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些