代码之家  ›  专栏  ›  技术社区  ›  Kyle

有什么不使用AJAX的重要原因吗?

  •  15
  • Kyle  · 技术社区  · 14 年前

    我正计划让我的web应用程序变得相当重AJAX。

    在此之前,我想知道人们对这些网站的看法。有什么重要的理由不这样做吗?

    顺便说一句,没有必要提到搜索引擎优化的原因。另外,我认为这样做的好处弥补了没有javascript的人经验有限的事实(尽管我很乐意相信有其他好处)。

    6 回复  |  直到 14 年前
        1
  •  15
  •   Tim M.    14 年前

    这取决于你打算如何使用它,我想。

    1) 如果没有它,站点将绝对失败,那么您将排除禁用脚本的用户。我认为在很多情况下限制 无脚本用户的功能(例如,如果禁用脚本,Google不会自动完成搜索;它不能…但基本搜索仍然有效)。

    3) 我越来越喜欢在页面上以小块形式加载的内容,这些内容不需要完全刷新,也不需要再次执行整个页面。这很适合SOA,但更受#1的限制。

    4) 编辑:不要创建(由于AJAX)行为异常的UI元素。例如,我曾经构建了一个下拉列表,只有在切换时才会填充。由于延迟和DOM创建时间的原因,它没有响应。此外,大小通常会根据动态添加的元素而变化。您可以提出解决这些问题的方法,但这仍然是对技术的错误使用。

        2
  •  6
  •   hvgotcodes    14 年前

    AJAX是一种工作工具。如果您的应用程序是最好的服务工具,使用它。

    编辑——只需确保清楚地理解折衷。而且,在使用AJAX的过程中,没有什么可以阻止您在需要时准备好非AJAX备份。。。

        3
  •  4
  •   Jacob Mattison    14 年前

    显然,有许多流行的网站依赖AJAX,因此如果使用得当,当然不需要避免。但是,有一些事情需要考虑:

    • 用户是否需要能够进行深度链接(即将书签保存到动态创建的“页面”中)?他们需要使用后退按钮来导航吗?(这两件事都可以使用AJAX来完成,但需要明确考虑,因为AJAX的幼稚实现可能会使它们工作得很差或根本不工作。)
    • 使用AJAX是否会对残疾用户(例如使用屏幕阅读器的用户)产生负面影响?
        4
  •  3
  •   naivists    14 年前

    这取决于如何使用AJAX。页面在呈现时必须等待,然后在脚本执行和加载实际内容时再等待10秒,这会让人生气。页面加载速度快,使用AJAX做得很好,当然也不错。

    搜索引擎优化是一回事,但在你的网站上找到东西的能力是另一回事。你必须想一个办法让谷歌索引你的内容。因此,您仍然需要有一个“纯文本”版本,其中链接的行为就像链接一样。

        5
  •  1
  •   Neil N HLGEM    14 年前

    深度链接可能是Ajax密集型网站的一个问题。有很多方法可以解决这个问题(即使用url散列技术),但这些方法并不总是故障安全的。

        6
  •  1
  •   Greg Hewgill    14 年前

    在地球另一边的用户,拥有3×10 8 物理强制的m/s速度限制,如果使用AJAX进行大量UI交互,会发现您的站点很慢,而且没有响应。

    从新西兰到加利福尼亚的典型数据包周转时间(往返)约为200ms,用户界面应在100ms内做出响应,以免感觉迟钝。