2010-09-18 52 views
6

我正在构建视频共享CMS的过程,该视频共享CMS使用大量的jQuery和ajax处理从丰富的UI效果到提交数据和从数据库检索数据的所有内容。当JavaScript被禁用时,一切都会崩溃,90%的功能无法使用。有时可以不要降级吗?

我开始认为其确定为不为某些类型的这样一个它采用了闪存播放器以流为主要内容的网站的正常降级 - 视频。那么,如果网站的主要内容不能被观看,那么要做到双方都支持其他所有内容,会有什么意义。即使YouTube停用JS禁用。

我打算下释放开源许可的CMS,所以问题是:

对于质量分布(和这种类型的网站)不正常降解好主意吗?

回答

3

只要你清楚地告诉用户,他们需要支持JS,这是确定它为“土崩瓦解”无JS。但是,如果你没有表明没有JS的情况下它不应该工作,那么人们就会生气。现在大多数人希望网站在某些功能方面需要JS。

对于像视频内容管理系统那样复杂的事情,如果用户不启用JS,则是用户的错误。如果没有JS,他们不应该期待类似这样的工作,即使他们这样做,可能也不值得花时间维护你的站点的两个版本:JS和非JS,特别是对于开源的东西。

+3

+1“只要你向用户说明他们需要启用JS,就可以在没有JS的情况下”分崩离析“。对我来说,这**是优雅的失败。 – lonesomeday 2010-09-18 17:43:40

2

鉴于您的应用程序依赖于javascript来实现其全部目的,所以您不可能优雅地降级。只要你的网站清楚地告诉用户启用JavaScript来获得你所有的真棒功能,并且可能有一些关于如何在不同浏览器中这样做的链接,你应该没问题。 :d

1

优雅降级并不意味着“一切工作完全在每个浏览器”,它的意思是“如果你的浏览器无法处理的东西,你看到的东西明智的,而不是坏的垃圾”。

就你而言,只要检测到该网站将无法正常工作,并显示一个很好的错误页面来解释所需的东西就是一种可接受的优雅退化形式。

2

你基本上选择了一个观众。这与决定是否支持IE6并无不同。这不是正确的,而是错误的,这只是一个问题,即你愿意失去多少百分比的观众,以换取​​最终的发展缓解。

也就是说,我发现progressive enhancement(其中优雅的退化是一个outcome)是一种有效和安全的开发方式。首先做HTML,让它工作,然后在顶部添加JS作为糖。

这不可能是你的一个用户没有运行Javascript。什么很可能,为我的谦虚自我发言,是你会有一些小JS错误,它会杀死所有的东西。 (JS倾向于停止例外情况,您可能已经注意到了。)

很高兴知道,如果发生此类错误,您的用户仍然可以使用该站点。在我看来,这就是优雅的退化。

+0

更何况,杀死所有东西的*小错误甚至可能不是你的错。有各种各样的过滤代理,伪造安全软件和浏览器加载项可能会影响你的页面内容,可能导致JS功能崩溃。 – bobince 2010-09-18 17:44:59