有没有使用AJAX的重要原因?

时间:2010-09-27 18:09:12

标签: javascript ajax web-applications

我打算让我的网络应用程序非常AJAX。

在此之前,我想知道人们对这些网站的看法。是否有任何重要原因不这样做?

BTW,无需提及SEO原因。此外,我认为这些好处弥补了这样一个事实,即没有javascript的人会有有限的经验(尽管我很乐于相信)。

6 个答案:

答案 0 :(得分:15)

这取决于您打算如何使用它,IMO。

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

2)需要在正确的地方使用正确的技术。例如,如果将数千个元素转储到ASP.Net UpdatePanel中,它将表现得非常糟糕。

3)我正在成为一个越来越大的内容粉丝,它在页面上以小块加载,不需要完全刷新NOR是否需要再次执行整个页面。这很适合SOA,但更容易受到#1的限制。

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

答案 1 :(得分:6)

AJAX是一个工作的工具。如果您的应用程序最适合该工具,请使用它。

编辑 - 只需确保权衡得当。此外,如果您需要,使用AJAX的任何内容都不会阻止您准备好非ajax备份...

答案 2 :(得分:4)

显然,有很多流行的网站都依赖于AJAX,所以如果使用得当,也无需避免。但是,有些事情需要考虑:

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

答案 3 :(得分:3)

这取决于你如何使用AJAX。在页面呈现时您必须等待的页面,然后在脚本执行并加载实际内容时等待另外10秒,让人们生气。使用AJAX快速加载并做得很好的页面当然很好。

搜索引擎优化是一回事,但在您的网站中查找内容的能力则是另一回事。您必须考虑让Google为您的内容编制索引。因此,您仍然需要一个“纯文本”版本,其中链接表现为链接。

答案 4 :(得分:1)

深度链接可能是Ajax重站点的问题。有很多方法(即使用url-hash技术),但这些并不总是安全的。

答案 5 :(得分:1)

位于地球另一端的用户,物理强制执行的速度限制为3×10 8 m / s,如果您拥有大量UI,则会发现您的网站运行缓慢且无响应与AJAX进行互动。

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