【问题标题】:In 2011 is it truly necessary to still degrade js? [closed]2011年真的还需要降级js吗? [关闭]
【发布时间】:2011-06-07 17:26:32
【问题描述】:

严肃的问题。

我尝试了大多数著名的网站(包括 facebook),我可以说在禁用 js 的情况下,大量的功能根本不会降级。我一直被告知 js 应该优雅地降级,但这在当今时代仍然适用吗?

几个站点正在放弃对ie6的支持,并且大多数web2.0都严重依赖js(尤其是ajax,我什至发现了一些站点在不启用js的情况下不允许您登录)。

您对此有何看法?

编辑:

我想补充一点,我首先在没有 js 的情况下开发 webapps,然后用它来增强它们。问题是 js 年复一年地越来越多地成为网络的一部分。 HTML5、canvas 和重型 js 应用开始兴起。我们会达到大多数网站都强制使用 js 的程度吗?我谈到了 facebook,因为该网站实际上会降级并且可以在没有 js 的情况下使用,但是大多数功能和快捷方式都被剥夺了网站感觉枯燥和陈旧的地步。也有 js 比服务器端脚本更好的例子,例如大表的排序比 php 实现更快,服务器密集度更低。

附言我不知道如何使它成为一个社区 wiki,但我会的,我只是对您的意见感兴趣。

【问题讨论】:

  • 如果你没有耗尽它的电池,我的手机会很感激。谢谢! :)
  • 可能应该移到程序员或站长堆栈交换处
  • @dvhh - 我不知道是否必须移动它,但也许它应该成为社区维基。
  • 也许这些网站是著名/流行的,因为它们不需要 Javascript?

标签: javascript ajax graceful-degradation


【解决方案1】:

即使没有必要,我还是更喜欢编写不需要需要启用 JS 的应用程序。

我认为您的 Web 应用程序的非 JS 版本的受众并不多,即使有,谁在乎?这只是一小部分人,你不会因为强迫他们升级浏览器而惹恼很多人。

不过,我不是为我的用户写有辱人格的 JS,我是为我自己写的……

事实上,我根本不写降级的 JS——我写的是 enhancing JS。

我觉得如果我先不使用 JavaScript 编写应用程序,然后稍后添加 JavaScript 以增强应用程序,我可以编写更有方向和成功的应用程序。

【讨论】:

  • 完全同意。我最初总是在没有 javascript 的情况下编写我的网络应用程序,然后在可以增强网站的地方添加 javascript。显然,您会遇到一些没有 javascript 就无法实现的功能,但这些功能很少会如此重要,以至于无法使用核心功能集。
  • +1,很好的回应。我喜欢编写一个不依赖于它的站点/应用程序的想法,然后仅仅通过它的存在来增强它。
  • +1 我认为这是一个很好的方法。
  • +1 我使用与上述相同的方法,但主要用于 SEO。禁用 javascript 的用户几乎在所有情况下都非常清楚这一点。
  • +1 写完 JS 后我讨厌感到自卑。
【解决方案2】:

在 2011 年仍然有几种重要的用户类型,您不能假设 javascript 可以正常运行:

  • 搜索机器人
  • 适合视障用户的浏览器
  • 功能手机
  • 企业浏览器、瘦客户端等仍在使用 IE6 或其他方式
  • 其他开发人员提供的基于 REST 的客户端
  • 您的前端可用性测试工具
  • 奇怪的新浏览器,比如我妈妈的 Roku 电视盒

所以我认为最好还是提供优雅的降级。

【讨论】:

  • 这实际上是我问题的唯一真正答案。谢谢。
【解决方案3】:

与这些问题一样,答案是视情况而定

这取决于您的受众(可能与您能找到的任何通用浏览器统计数据大不相同)。

其中有多少人禁用了 JavaScript?你关心那些用户吗?如果不是,那么当然,不要优雅地降级。

也就是说,至少,我建议您至少让您的网站在没有 JavaScript 的情况下也可以使用和导航。

【讨论】:

    【解决方案4】:

    该网站应该“工作”。不一定要唱歌跳舞,但不应该排斥没有JS的人。

    大多数屏幕阅读器仍然不使用 JS,因此您的所有内容都应该可供他们使用。

    【讨论】:

      【解决方案5】:

      你的目标是谁?极客,或者被禁止使用 javascript 的公司(或更糟糕的是,军事机构)的员工?

      知道如何降级仍然很好,即使您不必为您制作的每个应用程序 100% 应用它。

      【讨论】:

      • 在苏维埃俄罗斯,JavaScript 会贬低你!
      【解决方案6】:

      我认为 javascript 是一种技术,应该付出代价来改进而不是退化,我们不能仅仅因为它可能会影响小社区而不是仅仅因为它会带来一些威胁而退化技术。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-11-23
        • 1970-01-01
        • 2012-12-19
        • 1970-01-01
        • 1970-01-01
        • 2017-07-04
        • 1970-01-01
        • 2011-12-09
        相关资源
        最近更新 更多