前端之家收集整理的这篇文章主要介绍了
ajax缺点的解决方法,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
缺点与其中一些问题的对应
解决方案 对应用Ajax最主要的批评就是,它可能破坏浏览器后退按钮的正常行为。在动态更新
页面的情况下,
用户无法回到前一个
页面状态,这是因为浏览器仅能记下历史记录中的静态
页面。一个被完整读入的
页面与一个已经被动态
修改过的
页面之间的差别非常微妙;
用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。不过开发者已想出了种种办法来
解决这个问题,当中大多数都是在
用户单击后退按钮访问历史记录时,通过建立或使用一个隐藏的IFRAME来重现
页面上的变更。(例如,当
用户在Google Maps中单击后退时,它在一个隐藏的IFRAME中进行
搜索,然后将
搜索结果反映到Ajax元素上,以便将应用程序状态恢复到当时的状态。) 一个相关的观点认为,使用动态
页面更新使得
用户难于将某个特定的状态保存到收藏夹中。该问题的
解决方案也已出现,大部分都使用URL片断标识符(通常被称为锚点,即URL中#后面的部分)来保持跟踪,允许
用户回到指定的某个应用程序状态。(许多浏览器允许JavaScript动态更新锚点,这使得Ajax应用程序能够在更新
显示内容的同时更新锚点。)这些
解决方案也同时
解决了许多关于
不支持后退按钮的争论。 进行Ajax开发时,网络延迟——即
用户发出请求到服务器发出响应之间的间隔——需要慎重考虑。不给予
用户明确的回应 ,没有恰当的预读数据 ,或者对XMLHttpRequest的不恰当处理,都会使
用户感到延迟,这是
用户不欲看到的,也是他们无法理解的。通常的
解决方案是,使用一个可视化的组件来告诉
用户系统正在进行
后台操作并且正在读取数据和
内容。 一些手持设备(如手机、PDA等)现在还不能很好的
支持Ajax; 用JavaScript作的Ajax引擎,JavaScript的兼容性和DeBug都是让人头痛的事; Ajax的无刷新重载,由于
页面的变化没有刷新重载那么明显,所以容易给
用户带来困扰――
用户不太清楚现在的数据是新的还是已经更新过的;现有的
解决有:在相关位置
提示、数据更新的区域设计得比较明显、数据更新后给
用户提示等; 对串流媒体的
支持没有FLASH、Java Applet好;