ajax的缺点

作者:子乌 来源:蓝色理想 时间:2007-11-08 12:51:00 

http://swik.net/Ajax/Ajax+Mistakes

在某网站瞎逛时,发现这个链接,进去逛了逛,觉得很有意思,大家也可以去看看,姑且不论你是否同意里面的观点,看看别人看待Ajax的角度,这对于理解一个事物很有帮助。

下面是我对一部分缺陷的看法:

为Ajax而Ajax(Using Ajax for the sake of Ajax.)

很同意这点,当一个技术本身的生存意义由于它自身的亮点而被抹杀,不知道是这个技术的幸运还是不幸。

干掉了back按钮(Breaking the back button)

back按钮是一个标准的web站点UI的重要功能。然后,后退按钮没法和js很好的合作……
gmail似乎作的很好?不过没去仔细看过gmail如何实现后退和js相容的,被这个mistake一提醒,也许这也是ue的一个切口哦。

点击的时候没有提供一个可视化的提示(Not giving immediate visual cues for clicking widgets)

……也许是我没看懂,觉得写这段的人自相矛盾。。他说没提供可视化提示,不过是拿gmail右上角的红色提示作为例子。

阻挡了离线用户于门外(Leaving offline people behind)

看标题就清楚了,不过我持保留意见,web application和离线浏览本身似乎就存在着矛盾,要整合,可能要动很多脑子

别让我等(Don’t make me wait)

不过,ajax本身就存在着如果客户端的带宽不够,它的展示就会一塌糊涂的问题,这是它的先天缺陷,也是它崛起的先天因素--由于网速和带宽的不断增大,使得服务端与客户端的频繁通信成为可能。

显式的传递敏感信息(Sending sensitive information in the clear)

使用js传递数据,本身似乎就存在着这个风险,在我找到反对意见之前,我倾向认同这点--https协议除外。

假设ajax发展是一个单平台的发展。(Assuming AJAX development is single platform development)

作者文中的观点是ajax由于必须兼容多个浏览器,而没法做到只需要编码到标准的js就行,还要考虑到各个浏览器的问题……这个是js的问题,和ajax关系不大吧?

忘掉了可能多人在同时使用同一个应用(Forgetting that multiple people might be using the same application at the same time)

嗯,这其实是一个同步的问题,在b/s系统中这是一个麻烦的问题……当然,也许并不麻烦,做一个标记位就解决了吧?

太多代码让浏览器慢下来(Too much code makes the browser slow)

呃……同意这点,虽然在代码优化之后会有很大改善,但js本身运行速度慢这个缺陷还是会成为一个瓶颈。

不计划要那些禁用或者没有js的用户(Not having a plan for those who do not enable or have JavaScript)

呃……我在页面上用ajax的时候就准备放弃这些用户了,我没google那么闲,作两套系统,一套用ajax,一套纯页面。不过养成一个良好的编码习惯还是有必要,比如在超链接中不要直接设置href="javascript:..."而使用onmouseup或者onclick来触发事件,偶尔也为别人考虑考虑嘛,而且我也不能保证我的js程序在所有的浏览器上通吃。

不期然的页面闪烁和改变(Blinking and changing parts of the page unexpectedly)

我没经历过以前网页中blink标签的骚扰,所以我对作者的反感有点摸不着头脑,我觉得在适当的提示之后刷新某块页面总比整个页面的刷新看起来舒服。

没法把超链接发给朋友以及收藏(Not using links I can pass to friends or bookmark)

嘿嘿,这就是我上面提及的那点,如果编码习惯够好--而且时间够多,在超链接中为非js用户和js用户提供两套方案是可行的。

标签:缺点,ajax
0
投稿

猜你喜欢

  • 基于Vue3实现印章徽章组件的示例代码

    2023-07-02 16:54:28
  • 怎样用JS模拟实现枚举

    2024-04-22 12:48:38
  • 一篇文章带你轻松搞懂Golang的error处理

    2024-05-21 10:31:18
  • Python 删除List元素的三种方法remove、pop、del

    2021-06-14 20:58:52
  • python调试工具Birdseye的使用教程

    2023-08-22 19:18:48
  • 微信小程序实现简单的select下拉框

    2024-04-17 10:23:52
  • linux系统中重置mysql的root密码

    2024-01-14 06:16:45
  • python 实现数字字符串左侧补零的方法

    2021-07-07 10:34:43
  • Laravel使用PHPQRCODE实现生成带有LOGO的二维码图片功能示例

    2024-05-03 15:28:12
  • insert select与select into 的用法使用说明

    2012-01-05 18:47:58
  • Python可视化神器pyecharts绘制桑基图

    2022-04-06 16:36:41
  • fckeditor编辑器在php中的配置方法

    2023-10-14 14:26:52
  • python实现图像最近邻插值

    2023-02-01 00:03:34
  • ASP实现最简洁的多重查询的解决方案

    2007-09-28 12:00:00
  • Oracle数据安全面面观

    2010-07-27 13:27:00
  • python tornado开启多进程的几种方法

    2021-09-18 22:28:17
  • 详解利用Python scipy.signal.filtfilt() 实现信号滤波

    2022-09-23 21:23:03
  • JavaScript数字和字符串转换示例

    2024-05-02 16:27:07
  • Python退火算法在高次方程的应用

    2023-09-07 22:39:30
  • python数据处理详情

    2021-05-08 12:53:12
  • asp之家 网络编程 m.aspxhome.com