代码之家  ›  专栏  ›  技术社区  ›  James McMahon

当JS关闭时,AJAX应用程序的降级策略是什么?

  •  4
  • James McMahon  · 技术社区  · 14 年前

    要优雅地降级基于JS的web应用程序,我应该遵循哪些一般准则?有这样的指导方针吗?有没有什么公共页面可以作为好/坏的例子?有什么常见的陷阱吗?

    5 回复  |  直到 14 年前
        1
  •  5
  •   Daniel Vandersluis    14 年前

    使用创建应用程序 progressive enhancement 而不是 . 这意味着首先你应该让你的应用程序在没有Javascript的情况下正常工作(例如,你需要所有的链接在服务器上有相应的操作)。一旦成功了,你就可以 在应用程序上添加Javascript和AJAX。

    <select> 包含所有可能的值,并构建了我的slider小部件来开始/在此基础上工作 <选择> . 这样,可以使用/启用Javascript的用户将拥有更丰富的体验,但是不可以使用Javascript的用户仍然能够充分使用该应用程序。

        2
  •  1
  •   skyfoot    14 年前

    始终使用服务器端验证。通过这种方式,您的表单仍按预期方式工作,黑客很难绕过验证步骤。

        3
  •  1
  •   STW    14 年前

    使用“web1.0”技术构建一个没有AJAX的网站。然后,在JS中,增强同一个站点以使用AJAX。简而言之,这是一个非常简短的总结 Progessive Enhancement

    以下是一些提示:

    • 确保问题完全分离
      • HTML应该只包含内容,并且尽可能清晰和简洁
      • JS应该用于增强体验的行为,但对体验并不重要
    • 仔细考虑客户端如何与服务器端交互
      • 然后实现服务器端逻辑,使其更像服务而不是网页(它需要提供与“1.0”和AJAX版本相同的功能)。

    然后可以使用Javascript做一些额外的腿部工作:

    • 禁用/隐藏/删除使用增强版本时不需要的元素。例如,有些表单可以通过AJAX自动提交--增强版不需要它们的提交按钮,因此可以删除它们。

    最终,你将不仅拥有一个不需要JS就可以运行的站点,而且拥有一个可以被各种各样的浏览器(手机、电子阅读器、屏幕阅读器、平板电脑、台式机等)使用的站点。您还将拥有一个基本版本的站点,它满足交付内容的主要需求,并且能够以其他方式增强它以针对其他平台(您可以编写一个移动增强版本,或者使用桌面小部件的相同服务器逻辑,等等)

        4
  •  1
  •   Khalid Azam    8 年前

    资料来源: https://www.w3.org/wiki/Graceful_degradation_versus_progressive_enhancement

    优雅降级是构建web功能的一种做法,这样它可以在更现代的浏览器中提供一定程度的用户体验,但在较旧的浏览器中也会优雅地降级到较低的用户体验。这个较低的级别对于你的站点访问者来说并不好用,但是它仍然为他们提供了他们来到你的站点使用的基本功能;对于他们来说,事情不会中断。

    渐进式增强是类似的,但它做的事情反过来。您首先要建立一个基本级别的用户体验,所有浏览器在呈现您的网站时都能提供这种体验,但是您还要构建更高级的功能,这些功能将自动提供给可以使用它的浏览器。

        5
  •  0
  •   Māris Kiseļovs    14 年前

    所有链接应指向真正的网址,可以打开没有JS支持。之后,可以使用JS为AJAX请求设置onlick事件。 形式和其他事物也是如此。