这个禁止使用js是再浏览器端设置的,所以再给用户实施的时候肯定是要告诉他们不要禁用的。
|
|
|
|
1.ajax开发使用大量javascript,可能会导致浏览器出现性能问题. 2.ajax对于跨浏览器问题处理不好,会产生兼容性问题(在移动设备上会更明显). 3.ajax使得web开发,变得比以前复杂,给工程上带来新问题.
我做了两年多ajax,虽然现在不做了,但还是支持ajax.
我来补充两点,当通过Ajax技术进行大量数据通讯的时候,由于其简单的机制使得它难以胜任。具体表现为性能难以优化。其次,如果一个页面里面大量的使用了Ajax技术,会出现大量的等待图标,这并没有提高用户的体验。
Ajax是局部通信,相比传统的传送数据量要小很多 总结: 唯一的缺点就是第一次打开页面的时候相比传统的从理伦上说要慢一点点,就那么一点点.事实上都是忽略的
有人说增加服务器负担,有人说减轻服务器负担。
AJAX的七宗罪 引子
2005.2.18,Jesse James Garrett 的一篇A New Approach to Web Applications引出了AJAX这个web界的新名词。加上新宠儿在降生下来就和足球名队阿贾克斯、Google Suggest Google Maps这些大腕息息相关,不想出名都难啊。但似乎人们给与AJAX的期望有点太高了,甚至有人提出了用AJAX取代Java
Applet和Flash。不知Flickr是不是也听到这种呼声才把自己的Flash UI转向了普通的Javascript。AJAX是个伟大的东西,它是在不创造新技术的前提下诞生的一个标准,凭这一点就能招来大批的狂热追随者,AJAX看起来更像是杨过和小龙女练得玉女素心剑一样,分开来没有什么破坏力,但是二者合一就威力无比。
罪之一:对搜索引擎的支持不好
这其实更像一个大大的讽刺,AJAX的鼻祖是Google,但却对Google自己支持最不好了,GMail主界面除过Top和Bottom外没有一个链接就是最形象的讽刺了。虽然Mail本身是个私人的应用系统,但这个无链接的设计界面恰恰给AJAX开了个坏头。Flash也有同样有这个毛病。没有链接的web就像森林中迷路的羔羊,这句看似广告语,其实是web设计的根本原则。
罪之二:编写复杂、容易出错
javascript本是是个轻量级的小东西,现在被强迫重用起来,负担可想而知。javascript对OOP的支持很少,这就限制了javascript代码的可重用可封装等等,从Google Mpa还是其他一些应用中能看到的都是无数的 <script src= "... "> </script> 这样的文件包含,这些除了让程序员头昏的更快点,一点好处都没有。更可怕的是在javascript中竟然没有一款顺手的Debug软件,很多写js的老手到今天还是用最原始的alert(
" ")来调试,splinetech JavaScript HTML Debugger 算是一个看起来还像个样子的调试器吧,可惜不是免费的,几十大刀让我这种穷人只能望而生叹了。
罪之三:冗余代码更多了
和上面说的差不多,层层包含js文件是AJAX的通病,再加上以往的很多服务端代码现在放到了客户端,所以每次打开一个页面会包含很多的无用的js文件也一同下载下来。虽然宽带越来越普及,但是减少代码冗余还是每个web设计者的必修课。
罪之四:破坏了Web的原有标准
什么叫破坏web标准? <span onclick= "location.href= 'detail/ '; "> 点击查看全部 </a> ,这就是破坏了web标准。好好的A标签放着不用,偏要用span。这种例子很多,flickr中的标题单击后可以更改,这虽然(也包括我)是大家一致叫好觉得方便的设计,但同时这也是歧义了web元素本身的含义,物是人非这个词不知道用的合不合适?
罪之五:缺少一个没有标准之争、没有back和history的浏览器
哈哈,这句话语有点讽刺意义。现在的浏览器市场,不管是IE还是FireFox还是Opera等等。浏览器和浏览器之间的差异一直都是web设计者心中永远的痛,支持的css不一样,支持的客户端脚本不一样,有的竟然连客户端脚本的用法都有不同。这让程序员非常苦恼,最明显的就是调用xmlhttprequest了,req=(window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject(
"Microsoft.XMLHTTP ");这段创建xmlhttp对象的代码就是为了适应IE和非IE两天阵营的浏览器的经典例子。说是没有back和没有history的浏览器,这也是一个讽刺,主要是指在AJAX下点击链接是不Redirect页面,所以不存在后退和前进了,同样,没有后退和前进也就无存找浏览历史纪录了。back和history存在的根本就是url的改变,在AJAX下人们发现不改url也同样能达到内容改变这个酷酷的特点,何乐而不为呢?look http://www.dux2005.org/和http://www.zagodesign.com/,我承认这两个站确实做得非常棒,但除了酷酷的感觉外,毫无用处。
罪之六:XML只是用来打幌子
xml从诞生那天起就被一致看好,大有非xml不娶之势,我想Jesse James Garrett也是为了趋于流行才把xml强行加入ajax的吧。xml有一个致命的缺点,那就是加载的资源耗费,这好像是所有平台下xml的通病。google map虽然是Jesse James Garrett推荐的AJAX的品牌代言人,但是gmap并没有用xml,而是用了原生的javascript数组,我自己在用AJAX从服务端传回数据时也从来不用XML,因为它让我更繁琐让系统更慢。服务端首先要调用xml对要传输的数据进行封装,客户端得到数据后再调用xml进行解析,简直是画蛇添足。AJAX的一个重要特点是要身法轻盈,数据的传输尽量单一和简陋,如果确实需要传输大量复杂的数据,也应该通过多次调用传回。
罪之七:世界这么大却找不到自己的家
AJAX适用于什么?能干什么?能带来什么?在网站上用AJAX那是笑话,除非像Google Map和Flickr这样的专业领域的网站外,普通网站根本没必要用这个技术;在庞大的企业应用市场估计还能有AJAX的一点容身之地,不过在MS、SUN不会看着AJAX这个野孩子来在他们的地盘上撒泼的,如果大家都用AJAX,那java给谁卖?.net给谁卖?所以AJAX在企业应用也不是长久之地。所以,AJAX现在找不到自己合适的位置是个很大的尴尬。疑病乱投医,最近把AJAX的矛头指向Flash和Applet就是一个例子。
当然,我也不是要把AJAX扁的一无是处,我本人就非常喜欢这门技术,它能让web设计者的眼球更加宽广,让一些大胆的设计成为现实,但是我也会很冷静的小心翼翼的利用这个利器,利器虽好,一不留神刺伤的是自己。
PS:这篇文章是昨晚写的,今早却神奇般的从网上看见了一篇文章Ajax: 99% Bad,文章是针对2000年那片著名的Flash: 99% Bad 写的,其中的观点和我所说的七宗罪中的几宗相似。
|
相关推荐
例如,他们可能只需要几行代码就可以发起一个Ajax请求,获取或发送数据,而无需深入理解底层的XMLHttpRequest对象的工作原理。这样的设计大大降低了开发者的门槛,提高了开发效率。 总结来说,这个Ajax的js脚本提供...
【AJAX滑动医院专家特效脚本.zip】这个压缩包包含了一个用于展示医院专家的JavaScript特效脚本。这个脚本的主要特点是使用了AJAX技术,实现了页面无刷新的滑动效果,极大地提升了用户在浏览医院专家信息时的体验。...
AJAX技术 应用大全 源码 应用非常好的一个代码集合.net较为适用
【Ajax脚本开发】在LoadRunner中是至关重要的,因为许多现代Web应用大量使用Ajax技术,这就需要测试人员能够理解和创建针对Ajax请求的脚本来模拟用户行为。LoadRunner支持多种协议,包括Web HTTP/HTML,使得它可以...
在网页开发中,"Ajax省市县联动脚本"是一个常见的功能需求,特别是在用户需要填写地址信息时。这个功能使得用户在选择省份时,城市和县区会根据所选的省份自动更新,提供相应的下拉选项,提高了用户体验。下面将详细...
Ajax我的客户端脚本框架
在星星评分系统中,我们需要一个设计良好的数据库结构来存储评分数据,例如,可以创建一个包含用户ID(如果有的话)、IP地址、商品ID、评分和时间戳等字段的表。每当有新的评分,PHP就会将这些数据插入到相应的表中...
在“Ajax省市县联动脚本.sql”这个例子中,我们关注的是一个特定的应用场景:当用户选择一个省份时,城市和县的下拉列表会自动更新,无需用户手动刷新页面。 首先,让我们理解这个脚本的工作原理。...
在这个"使用简单方便的Ajax通用脚本"中,我们可以看到几个关键的文件,它们共同构成了一个基本的Ajax功能库: 1. **util.js**:通常这是一个工具函数集合,包含各种常用的辅助方法,如字符串操作、数组处理、日期...
**Ajax 概述** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它的核心是利用JavaScript与服务器进行异步数据交换,通过XML或者JSON格式传输数据,使得用户...
在调试过程中,如果Ajax请求出现错误,控制台通常会显示详细的错误消息,这对于定位问题非常有帮助。 总结一下,调试Ajax在Firefox中主要通过以下几个步骤: 1. 使用Firefox Developer Tools的“网络”面板监控...
2.2 脚本元素 JSP+AJAX2.2 脚本元素 JSP+AJAX2.2 脚本元素 JSP+AJAX2.2 脚本元素 JSP+AJAX2.2 脚本元素 JSP+AJAX
**Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术可以提升用户体验,因为它...
Ajax Interceptor 就是一个典型的Chrome扩展,它通过注入脚本监听和拦截Ajax请求,然后提供用户界面进行交互操作。 ### 3. 使用Ajax Interceptor 安装Ajax Interceptor后,它会在浏览器右上角出现图标,点击后显示...
标题中的“php+ajax例子”指的是使用PHP服务器端语言与AJAX(Asynchronous JavaScript and XML)客户端技术结合的示例应用。在Web开发中,PHP通常用于处理服务器端逻辑,而AJAX则允许网页在不刷新整个页面的情况下,...
网页上仿Gmail拼写检查控件及 AJAX实现的TAB脚本控件
而JavaScript作为客户端脚本语言,是实现Ajax技术的基础。 Ajax的工作原理主要涉及以下几个步骤: 1. **用户交互**:用户在页面上触发一个事件,如点击按钮。 2. **创建XMLHttpRequest对象**:这是Ajax通信的基础,...
在网页同等目录下加入此脚本,可以编写ajax数据传输代码
它将JavaScript库(MicrosoftAjax.js)与服务器端的ASP.NET扩展结合,使得开发者能够轻松地在客户端实现异步更新,无需页面刷新就能与服务器进行数据交换。 **1. AJAX核心概念** - **异步通信**:AJAX的核心特性是...
- 考虑到用户禁用了JavaScript,应提供非Ajax的备选方案。 **资源推荐** - 《Ajax 探密 (Ajax Hacks ).rar》:这是一本关于Ajax技术深入实践的书籍,包含了多种Ajax技巧和解决方案。 - 《AJAX——新手快车道.rar》...