Jquery下的Ajax调试方法

介绍

本文介绍Jquery下的Ajax调试方法;很多调试方法,就是一点就通,但是,在还没有通之前,会让人困惑,不知所以然;

Ajax 可以为用户提供更为丰富的用户体验。jQuery 对 Ajax 当然也提供了很好的支持,而且还抽象了各种浏览器对于 Ajax 支持方面令人痛苦的差异。它不但提供了全功能的 $.ajax() 方法,还有诸如 $.get()$.getScript()$.getJSON()$.post()$().load() 等更为简便的方法。

 

一个示例

首先,我们用一个示例来说明JQuery的Ajax调用过程,

实现的一个功能是:点击确认支付按钮之后,实现余额支付的功能:

1.首先在php页面将相关需要调用的函数绑定到按钮上:

<input type="submit" name="pay_btn" id="pay_btn" value="确认支付" />

<script type="text/javascript">

$(function(){

    $("#pay_btn").bind("click",ABC.balancePay);

});

</script>

2.脚本处:

如果使用$.post方式实现:

var ABC = {

    balancePay: function(event){

        event.preventDefault();

var tthis = $(event.currentTarget);

var form = tthis.parents(‘form’);

var url = form.attr(‘action’);

var data = ‘code=15′ ;//+ $(‘#verifyCode’).val();

var jqXhr = $.post(url, data, undefined, ‘jsonp’);

        jqXhr.done(function(datas){

                //console.log(‘这里是通过console打印出来的’); //#4

                $("#msg").text(‘结果:’+data);

});

}

$.post方式也可以直接指定回调函数:

var jqXhr = $.post(url, data, function(data){

            $("#msg").text(‘结果:’+data);

}, ‘jsonp’);

使用$.ajax方法实现:

var jqXhr = $.ajax({

            type: ‘post’,

            url: url,

            data: {code: ‘15′},

            dataType: ‘jsonp’,

            sccuess:function(data){

            alert(‘good’);},

            error: function(XMLHttpRequest, textStatus, errorThrown) {  //#3这个error函数调试时非常有用,如果解析不正确,将会弹出错误框
                        alert(XMLHttpRequest.status);
                        alert(XMLHttpRequest.readyState);
                        alert(textStatus); // paser error;
                    },

});

3.服务器端:

public function actionInterPayProc($callback)

{

//header("content-type: text/javascript");

//header(‘Content-type: text/html; charset=utf-8′);

         $code = $_POST['code'];

        //$code  //#1 此处给出一个有语法错误的表达式

        //echo $code;  //#2  此处标记,用于后面调试说明;

        …

        $result = 1;

            //echo $_POST['callback']. ‘(‘ . json_encode($result) . ‘);’;//注意使用的编码方式需要和客户端请求保持一致;

exit(0);

    }

 

调试工具

Firefox 有强大 FireBug 插件,现在比较新的浏览器如 Chrome 和 Safari,以及 IE 8都内置了调试工具,借助于这些调试工具,可以非常详细的查看 Ajax 的执行过程(chrome和firefox中调出调试工具的快捷键是ctrl+shift+c);

以下使用FireBug;

 

调试方法

1.使用firebug,查看回调:

    对于Ajax方法,是通过异步执行的服务器端程序,如果服务器端出错,在页面上不会显示的,我们需要借助调试工具来查看;例如,将以上示例中#2的注释去掉,触发ajax请求一次,可以在控制台面板中查看到错误的返回结果:

1247078

如果是服务器端程序出错,也可以直接看到,出错原因跟一般普通的页面一样,只不过是在ajax返回的面板中查看(web浏览器页面中不会有任何显示)。

这里需要说明的是,如果在服务器端使用了echo等方法将需要查看的变量打印出来了,那么,ajax调用的结果一定是失败的,因为这样看上去的回调函数名称被更改了,造成无法解析;

例如,打印的变量是333,那么最后回调的结果是:333ajaxcallbak(1);客户端寻找333ajaxcallbak这个函数名,无法解析。

 

2.使用error函数打印错误信息:

$.ajax()有一个error参数,可以指定一个函数,在请求失败时,将调用此方法。这里给出的信息,对于调试来说,非常有用;

error:function (XMLHttpRequest, textStatus, errorThrown)

error事件返回的第一个参数XMLHttpRequest有一些有用的信息:

XMLHttpRequest.readyState:

其返回的状态码对应了一种错误说明:

状态码

0 - (未初始化)还没有调用send()方法

1 - (载入)已调用send()方法,正在发送请求

2 - (载入完成)send()方法执行完成,已经接收到全部响应内容

3 - (交互)正在解析响应内容

4 - (完成)响应内容解析完成,可以在客户端调用了

XMLHttpRequest.status:

这里返回的状态码就是我们日常见到的HTTP状态;比如404,表示没有找到页面;

(详细的状态码对应信息见附录;)

textStatus:

"timeout", "error", "notmodified" 和 "parsererror"。

(默 认: 自动判断 (xml 或 html)) 请求失败时调用时间。参数有以下三个:XMLHttpRequest 对象、错误信息、(可选)捕获的错误对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" 和 "parsererror"。

通过这个error函数,程序出错就很容易排查;

比如上面的#2处,去掉注释,相当于更改了回调函数名;在erro里就会报:parsererror;

 

3.使用console.log打印输出:(alert()也可以)

这只是一个增强调试体验的辅助方法。对于js中的关注变量跟踪,我们可通过alert()方法打印出来,不过弹出框频繁会让人烦躁。console.log是一个替代方式,它是firebug插件的一个方法。console.log打印出来的变量结果会显示在firebug的控制台面板中;

 

可能的出错原因:

1.如果返回的结果格式不正确,在firebug中能看到结果;

2.对于JSON请求,对格式比较严格:

如果通过error函数打出来的报错是:parsererror

可能的原因是服务器端脚本编码的问题;可以在服务端处理函数内处理的第一行加上对应的header信息:

eg:header(‘Content-type: text/html; charset=utf-8′);

当然,最有可能的是格式不正确:

echo "{‘re’:’success’}";jquery不能解析

echo "{\"re\":\"success\"}";就没有错误

不要输出怪异的json格式的字符串,要不jq1.4+版本不会执行success回调。如{abc:1}或者{‘abc’:1},要输出
{"abc":1}

{’success’:true}改为{"success":true}

 

相关书籍:

刚接触jquery的朋友,可以看看这本书。介绍的很全面,实例浅显易懂:

锋利的JQuery

image

 

附录:

XMLHttpRequest.status状态码

1xx-信息提示
这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。
100-继续。
101-切换协议。
2xx-成功
这类状态代码表明服务器成功地接受了客户端请求。
200-确定。客户端请求已成功。
201-已创建。
202-已接受。
203-非权威性信息。
204-无内容。
205-重置内容。
206-部分内容。
3xx-重定向
客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。
301-对象已永久移走,即永久重定向。
302-对象已临时移动。
304-未修改。
307-临时重定向。
4xx-客户端错误
发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。400-错误的请求。
401-访问被拒绝。IIS定义了许多不同的401错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在IIS日志中显示:
401.1-登录失败。
401.2-服务器配置导致登录失败。
401.3-由于ACL对资源的限制而未获得授权。
401.4-筛选器授权失败。
401.5-ISAPI/CGI应用程序授权失败。
401.7–访问被Web服务器上的URL授权策略拒绝。这个错误代码为IIS6.0所专用。
403-禁止访问:IIS定义了许多不同的403错误,它们指明更为具体的错误原因:
403.1-执行访问被禁止。
403.2-读访问被禁止。
403.3-写访问被禁止。
403.4-要求SSL。
403.5-要求SSL128。
403.6-IP地址被拒绝。
403.7-要求客户端证书。
403.8-站点访问被拒绝。
403.9-用户数过多。
403.10-配置无效。
403.11-密码更改。
403.12-拒绝访问映射表。
403.13-客户端证书被吊销。
403.14-拒绝目录列表。
403.15-超出客户端访问许可。
403.16-客户端证书不受信任或无效。
403.17-客户端证书已过期或尚未生效。
403.18-在当前的应用程序池中不能执行所请求的URL。这个错误代码为IIS6.0所专用。
403.19-不能为这个应用程序池中的客户端执行CGI。这个错误代码为IIS6.0所专用。
403.20-Passport登录失败。这个错误代码为IIS6.0所专用。
404-未找到。
404.0-(无)–没有找到文件或目录。
404.1-无法在所请求的端口上访问Web站点。
404.2-Web服务扩展锁定策略阻止本请求。
404.3-MIME映射策略阻止本请求。
405-用来访问本页面的HTTP谓词不被允许(方法不被允许)
406-客户端浏览器不接受所请求页面的MIME类型。
407-要求进行代理身份验证。
412-前提条件失败。
413–请求实体太大。
414-请求URI太长。
415–不支持的媒体类型。
416–所请求的范围无法满足。
417–执行失败。
423–锁定的错误。
5xx-服务器错误
服务器由于遇到错误而不能完成该请求。
500-内部服务器错误。
500.12-应用程序正忙于在Web服务器上重新启动。
500.13-Web服务器太忙。
500.15-不允许直接请求Global.asa。
500.16–UNC授权凭据不正确。这个错误代码为IIS6.0所专用。
500.18–URL授权存储不能打开。这个错误代码为IIS6.0所专用。
500.100-内部ASP错误。
501-页眉值指定了未实现的配置。
502-Web服务器用作网关或代理服务器时收到了无效响应。
502.1-CGI应用程序超时。
502.2-CGI应用程序出错。application.
503-服务不可用。这个错误代码为IIS6.0所专用。
504-网关超时。
505-HTTP版本不受支持。
FTP
1xx-肯定的初步答复
这些状态代码指示一项操作已经成功开始,但客户端希望在继续操作新命令前得到另一个答复。
110重新启动标记答复。
120服务已就绪,在nnn分钟后开始。
125数据连接已打开,正在开始传输。
150文件状态正常,准备打开数据连接。
2xx-肯定的完成答复
一项操作已经成功完成。客户端可以执行新命令。200命令确定。
202未执行命令,站点上的命令过多。
211系统状态,或系统帮助答复。
212目录状态。
213文件状态。
214帮助消息。
215NAME系统类型,其中,NAME是AssignedNumbers文档中所列的正式系统名称。
220服务就绪,可以执行新用户的请求。
221服务关闭控制连接。如果适当,请注销。
225数据连接打开,没有进行中的传输。
226关闭数据连接。请求的文件操作已成功(例如,传输文件或放弃文件)。
227进入被动模式(h1,h2,h3,h4,p1,p2)。
230用户已登录,继续进行。
250请求的文件操作正确,已完成。
257已创建“PATHNAME”。
3xx-肯定的中间答复
该命令已成功,但服务器需要更多来自客户端的信息以完成对请求的处理。331用户名正确,需要密码。
332需要登录帐户。
350请求的文件操作正在等待进一步的信息。
4xx-瞬态否定的完成答复
该命令不成功,但错误是暂时的。如果客户端重试命令,可能会执行成功。421服务不可用,正在关闭控制连接。如果服务确定它必须关闭,将向任何命令发送这一应答。
425无法打开数据连接。
426Connectionclosed;transferaborted.
450未执行请求的文件操作。文件不可用(例如,文件繁忙)。
451请求的操作异常终止:正在处理本地错误。
452未执行请求的操作。系统存储空间不够。
5xx-永久性否定的完成答复
该命令不成功,错误是永久性的。如果客户端重试命令,将再次出现同样的错误。500语法错误,命令无法识别。这可能包括诸如命令行太长之类的错误。
501在参数中有语法错误。
502未执行命令。
503错误的命令序列。
504未执行该参数的命令。
530未登录。
532存储文件需要帐户。
550未执行请求的操作。文件不可用(例如,未找到文件,没有访问权限)。
551请求的操作异常终止:未知的页面类型。
552请求的文件操作异常终止:超出存储分配(对于当前目录或数据集)。
553未执行请求的操作。不允许的文件名。
常见的FTP状态代码及其原因
150-FTP使用两个端口:21用于发送命令,20用于发送数据。状态代码150表示服务器准备在端口20上打开新连接,发送一些数据。
226-命令在端口20上打开数据连接以执行操作,如传输文件。该操作成功完成,数据连接已关闭。
230-客户端发送正确的密码后,显示该状态代码。它表示用户已成功登录。
331-客户端发送用户名后,显示该状态代码。无论所提供的用户名是否为系统中的有效帐户,都将显示该状态代码。
426-命令打开数据连接以执行操作,但该操作已被取消,数据连接已关闭。
530-该状态代码表示用户无法登录,因为用户名和密码组合无效。如果使用某个用户帐户登录,可能键入错误的用户名或密码,也可能选择只允许匿名访问。如果使用匿名帐户登录,IIS的配置可能拒绝匿名访问。
550-命令未被执行,因为指定的文件不可用。例如,要GET的文件并不存在,或试图将文件PUT到您没有写入权限的目录。

参考:

http://www.akasuna.com/2012/03/15/jquery-and-ajax-and-jsonp/

http://www.cnblogs.com/mybest/archive/2011/12/13/2285730.html

 

Posted by: 大CC | OCT23,2012

博客:cnblogs.com/me115/ [订阅]

微博:新浪微博

如何保障晚间的高效工作

写程序很费脑子。没错,是这样的。

白天忙乎一天之后,晚上需要接着写代码,这种情景在创业型团队中格外明显;但是,经过了白天的“消耗”后,晚上的精神无法专注,容易分神,效率明显下降。

长时间的呆在室内,会增长抑郁情绪。大家可能会有这样的感受,在周末,本想在家好好放松放松,哪都不去,就宅在屋子里。在电脑前娱乐了一天之后,晚上却觉得心情低落,什么都不想干。

针对这些现象,我目前采用的两种方法,有比较明显的改善效果;

 

1.能让你流汗的运动

通过比较激烈的运动,可以将白天的疲惫挥之而去。对程序员而言,一整天坐在工作间,这种累,通过加强运动的方式来抵消,很有成效。

健身房不一定是个好选择;肌肉训练很累,这点办过健身卡的朋友应该都有体会。相比跑步来说,更难坚持,一般健身房离我们住的地方不是很近,这段距离会增加我们心中逃避的筹码;如果只是跑跑步,在健身房长时间的跑步也让人枯燥的难以坚持。

 

我的体会

我每天6点到7点之间会选择一个时间点,到楼下的公园去跑上半小时,跑完后大汗淋漓,那个状态很舒服。回来后,神清气爽,晚上的工作效率不成问题。

如何开始

如果是球类运动,有兴趣支撑,一般开始不成问题,不过这样的运动一般不具备连续性,无法保障每天都能运动。

最具普通的就是跑步,但跑步不是一个简单的活。虽然我们都知道跑步有利,但人都有惰性,在轻松和累之间的抉择,通常选择轻松一点。我的方法是:为了有个好的开始,先别去想是否去,首先换上运动装备,穿上跑鞋。接下来,就比较顺利了。想持续的话,最好的方式是通过分享,借助外力来保证;比如,和亲人、朋友一块运动,或是告诉她们你的计划,让他人监督你的行动;我现在使用了一APP,叫antimelog,没什么多的功能,我就是用它来记录我的跑步历史。出门之前点开始,回来之后点结束(手机不带身上),看着一条条的记录增加,有小小的成就感。(yy:这个应用并没有体现出记录跑步或利用成就感什么的心理,是否有这样的APP,推荐?)

 

2.冥想

有不少程序员有冥想的习惯,比如JAY JANARTHANAN(博客)(我是通过这个文章认识到这么一个人的《每天工作4小时的程序员》)。也比如大神乔布斯。

冥想的好处很多,比如消除紧张,改善睡眠,提高注意力,在工作时能更为专注;但我这里要说的是它立竿见影的效果,那就是消除疲劳。

 

我的体会

在雨天或是没有出去跑步的日子,我会选择冥想来恢复精力。半小时的冥想过后,精神充沛,感觉头脑非常轻松。有一股劲,通过手指传导到键盘,非常愉悦。

 

如何开始

我是个冥想的初级者,无法给出详尽的指导,推荐一些学习的路。煺墨上的文章:《怎样开始冥想》是个不错的指导。

书籍方面看过的不多,这本感觉还不错:《冥想5分钟,等于熟睡一小时

image

英文方面,有JAY推荐的《Meditation for Dummies》,未看过,不做评论。

 

Posted by: 大CC | SEP18,2012

博客:cnblogs.com/me115/ [订阅]

微博:新浪微博

我所推荐的价值博客们

以下这些博客是我Google Reader中订阅并阅读最多的博客,我将它们分享出来,希望更多的人知道和熟悉,读读他们过往的文章,相信能得到不少知识回报;同时,也希望朋友们能推荐一些我所不知道的好博客。

时间管理

褪墨:http://www.mifengtd.cn/

这个一个有了5年以上历史的博客,褪墨上的文章让人感觉营养特别多,第一次上去的时候有相见恨晚的感觉。关于时间管理,关于个人管理,关于个人目标的竖立和自己未来方向的探索,相信并希望你能在上面找到答案;

技术

刘未鹏:http://mindhacks.cn/

熟悉C++、在CSDN上混的,对这位朋友应该不会陌生,这个博客主要记录了他对C++的深入理解,当然,可能更让人熟知的是他对心理学的研究,上面很多文章是他从计算机的角度来理解心理学,读起来很实在,有硬货,经得起反复玩味;

还在上大学的朋友,推荐读读他的《我在南大的七年》,相信能收获不少。

 

互联网、创业

阮一峰:http://www.ruanyifeng.com/blog/

很有意思,阮一峰又出新招,推出博客收费业务,阅读博客,读完收费,一年下来,还赚到了几千块。这种近乎捐助的方式体现了大家对他文章的肯定。

DBA notes: http://www.dbanotes.net/

扎实创业者一名,该博客在RSS订阅群中已具相当知名度,不用多说。

 

卢松松:http://lusongsong.com/

卢松松博客是一个专注互联网、网站和营销的IT独立博客,该博客所关注领域主要是搜索引擎、站长和SEO方面,是一个值得WEB创业者、个人站长收藏和订阅的博客。

 

36氪:http://www.36kr.com/

首先说明,这不是一个个人博客。这是一个商业性质运营的博客,讨论的是互联网创业相关话题。关注互联网、关注互联网创业的朋友可以上去看看。

读书

战隼的学习探索http://www.read.org.cn/

喜欢读书的朋友可以订阅这位朋友的博客;战隼今年发起每天读一本书的活动,颇有豪情,不过,书在精在勤,真跟数量较上劲了,倒失去了很多乐趣。

 

旅游

purplexsu:http://www.purplexsu.net/

可以穿30元的大裤衩,但一定要不停的在路上。这是一种让人眼红的生活方式,活的潇洒,随性。作者在Google工作,这个博客记录了他从大学开始的所有游记。里面有两张地图,一张中国地图,一张世界地图。中国的已经布满密密麻麻的小点,世界上的点也在逐步铺开蔓延;

 

经济

叶檀:http://blog.sina.com.cn/yetan

最喜欢叶檀,独立经济评论人,对社会不公和商业丑闻敢于揭露,说话有分寸,拿捏的很准。当然,最欣赏的还是她丰富的经济学知识储备;

SinRain:http://www.sinrain.cn/

Sinrain的博客都很长,很能写。对于经济方面的事件讲的通俗易懂。

Posted by: 大CC | SEP08,2012

博客:cnblogs.com/me115/  [订阅]

微博:新浪微博

不要在一门技术上吊死

现象

刚出道的朋友,特别是刚踏入社会的学生,总是希望今后干活用的一定是自己熟悉的语言,当领导安排做其它的不同技术性活的时候,对于语言上的不同,心理上很排斥。

对此,大可不必,年轻人多学几门技术并不是坏事。不要想着在一门语言、一种技术上吊死。你可以精通一门语言,同时,你也可以熟悉更多的语言,与计算机世界做更亲密的接触。

我的起点

我的编程起点从C++开始。大学做过一些比赛的软件,也给外面的公司开发过产品。这一切都是基于Windows平台、基于MFC,那时,也学过linux,但觉得与自己很远。作为学生时代的我,没能体会linux的世界有多精彩。只是学到了那些命令,都是表面;

最初学C++的时候,都是在命令行下敲打,都是控制台、黑屏。当开始接触了MFC,使用MFC写出几个GDI图形界面的东西,就觉得帅气。最后回到linux,才发现还是文本模式最酷;

由于工作原因,需在linux下写C++后台,这才体会到C++的强大和不足。在应用开发上,C++效率高。在日常工作处理,比如程序部署,日志处理等,python和shell脚本就是利器。而这些活用C++来做的话,就吃力不讨好了。

      WEB方面,我最初用的是ASP,04年用ASP做了个网站,拿了学校的一个奖。之后开始用ASP.net做产品,做过一个上线后,也没体会到有什么不好。也用过PHP和JSP,不过都是些实验性的项目,未曾投入生产。再之后,开始做我们的创业项目,也是用的ASP.NET,建立在Windows平台,同期也使用到Linux服务器,这才体会到不同平台上的优劣。如今面对一个新的项目时,在语言选型上我有了更多的考虑点。(关于WEB语言的选择,可以参考我的另一篇文章:创业如何选择WEB开发语言

我的观点:

语言只是工具,对于特点的场景,哪个合适就用哪个,不会?学呗,有了之前的编程经验,3个月下来,至少可以达到熟悉的程度,对于其高级特性,可以在实践中深入;

编程的核心是算法和数据结构,这些,是我们大学最熟悉不过的东西。既然,核心掌握了,对于语言这种外在的表现形式,就没有必要拒绝和害怕。无论面向对对象、面向过程、掌握后对其它语言的领悟就是触类旁通。

Posted by: 大CC | SEP06,2012

博客:cnblogs.com/me115/

微博:新浪微博

公司内部Wiki,你建立了么?

Wiki 是一个协同著作平台或称开放编辑系统。我们可以用Wiki来建设帮助系统,知识库系统。国内公共wiki最著名就是百度百科;我这里要讨论的是公司的内部wiki

内部wiki的作用

1.鼓励分享

分享是互联网的精神,wiki能将互帮互助融入到企业文化之中。除了工作上的成就,让员工在工作之余,能够体会到帮助他人的成就和快乐。

2.提升员工个人能力

很多难懂深奥的问题,专研半天终于搞懂了,但是你不一定能思路清晰给别人讲出来,并且,过了1个月之后再回头看,可能又不懂了。如果能有一篇总结性的文章出来,这样对自己、对大家,都是很好的提升。最开始写的时候,可能会有点困难;但只要坚持,只要肚子里有货,日子久了,下笔就流畅了。“总结”,是需要练习的;

3.传承技术

员工离职、特别是核心员工的离职,对公司是一笔不小的损失;如何将员工离职对公司造成的损失降到最低?如果员工将知识分享出来,将以往的工作经验都体现在wiki中,那么,接班的同事会更加顺畅,也会感激你;说到这,有人会想,我把知道的东西都写出来了,不是没有核心竞争力了么?如果这么想,就大错了,人总是在进步的,你写出来的越多,自我提升的也越快,说不定,还没等到你把自己知道的全都写出来,就已经得到岗位上的提升,而不是离职;你对公司的贡献,大家都看在眼里;再就是,创造了一个分享互助的文化,你也同样可以在同事那里学到很多。

搭建wiki

小公司,特别是创业型公司,公司内部的知识库系统,一般没必要自行开发,可以使用一个开源wiki来建立;目前,网上开源的wiki系统有很多,可选择的范围也很大,可以根据自己公司需要来搭建,这里有Wiki开源软件的介绍。使用最广泛的是MediaWiki,它是维基百科全书的系统软件。除了上述链接里的开源免费wiki,国内做的比较好的是互动wiki,有授权费用,当然,付费也就有客服支持,对于自行搭建有困难的也是一种选择。

注意事项

公司一般都会有技术或业务上的保密,内部wiki系统需要采用有效手段防止外部访问,同时,也要拒绝百度爬虫的光临;

内部公司示例

爱立信

爱立信内部自建了一套wiki系统。其技术支持人员在接到一线报来的问题时,首先是查询wiki系统,查看是否有之前类似的解决方案。而员工解决了一个问题之后,也会总结成文,供其它同事参考;

 

公共wiki资源

百度百科

维基百科

Posted by: 大CC | AUG21,2012

博客:cnblogs.com/me115/

微博:新浪微博

我需要支持IE6么?

开发过WEB的朋友对这个都深有体会,如果做出来的网站可以不需要支持IE6,工作量可能会减少一半,界面能更漂亮,用户的浏览体验也会更好。

IE6是广大前端开发者的噩梦,这么多年一直缠绕在身边;

那么,我们的网站可以不支持IE6么?

GeForce的态度

如果你的网站足够牛,其内容能够让用户为了浏览你的站点,不惜去换个浏览器也得访问,那么你也可以这样:

当你用IE6访问http://www.geforce.cn/,则直接跳转到这么一个noIE6的页面:

image

当然,我们需要认识到,Geforce是做显卡、做游戏这这一块的公司,他所面对的用户群主体是30岁之前的年轻群体,这一类人容易接受新事物,也愿意为之改变。

微软的态度

IE6是微软开发的,那么他的态度如何?

微软早就明确表明态度,并做出了实际行动。

为了让用户停止使用IE6,公司发起一系列活动促使IE6用户能够升级到新版本浏览器,为了继续推动IE6淘汰的进程,微软发布了一个主题为“IE6countdown”(IE6倒计时)网站,网站写道:“让IE6离开这个世界。”

image

http://www.ie6countdown.com/

我们很不幸的看到,只有中国还是一片橙色区域,这意味着IE6在中国的市场占用率还是25%以上。

中国的态度

IE6是绑定在Windows XP系统中的,随操作系统一同安装上的。虽然vista、win7、win8都已面世,但升级的用户并不像微软想象的那么多。市场上,XP依然流行。这就导致IE6依然是主角。

XP不死,IE6不死;

如果是面向中国用户,可能更多的还是要考虑IE6的兼容性。

中国银行们的态度

这是个比较抄蛋的话题,凭什么要把银行单独拿出来说事。

是这样的,你可以用Chrome上京东商城,可以用Firefox来淘宝,但是最后,到了网银付账的时候,对不起,重新登录,转到IE6来支付吧。

因为我们的银行,只支持IE!!!

你的态度

如果你是一名WEB开发者,这是你不得不思考的问题:

你所面向的用户群是哪一类?

用户愿意为了浏览我的网站而更改浏览器么?

我的网站是面向中国还是其它国家?

或许再等五年,这就不再是个问题。

期待。

OVER.

Posted by: 大CC | AUG14,2012

博客:cnblogs.com/me115/

微博:新浪微博

晨间日记的奇迹,和将来的自己对话

image

推荐:4星;

阅读时间:1.5小时;

人一过30,留下的就只有习惯!

在我们年轻时,尽可能多的为将来的自己培养良好习惯,将受用终身。

本书的创新点在于:

1.日记回看;将每年的同一天(比如:4月15日)发生的事记在同一页上,这样,当我在将来的某一天开始写日记时,就能回顾下前几年的这一天都是怎么度过的,前些年的我是怎么想的。我可以在日记中写下想要达成的目标和实现的愿望,这样,就实现了过去的我和将来的我的对话,而对话的时间点,就是将来每一年的同一天;

2.晨间写日记:以往的我们都是晚上写日记,一天过去,总结一天发生的事。本书则主张晨间写日记,理由如下:

a.早晨的情绪乐观,有利于我们将乐观的心情带入到日记中,这样,在和未来的自己对话时,让未来的自己也感到心情开朗;和你聊天的是一个乐观积极的人,幽默不断,你的心情会差么?

b.早晨的思绪更活跃,我们有精力来思考未来,回顾过去,品味优劣;从而将更积极的想法和对未来的期望传递到日记中去。

3.曼陀罗日记法,即九宫格日记;写日记不再是一本流水账,而是填块写日记,这个不算是本书作者首先提出的,不过,确是让我第一次接触到将九宫格用于写日记,感谢。

同时,作者了为了鼓励那些没有写日记习惯的朋友开始写日记,列出了不少写日记的好处:

1.排在首位的,当然就是和未来的自己对话,穿越时间,和自己对话,想想,这是件多么奇妙的过程;

2.提升写作能力,日记能为写作增添不少素材,在字里行间中提升自己的表达能力;

3.话题不断;过去发生的事,总是很快就能被我们忘记,但是,写在纸上, 就能加深印象,更为重要的是,在和过去的自己对话后,我们和朋友聊天时,能清楚的告诉他们,去年或前年的今天,都发生了什么!!

4.人脉运转:当话题不断的时候,当你成为一个建谈并有丰富内容思想的人后,你的人脉也就节节攀升。

5.审视自我,审视过去的一天,我们是否虚度光阴?还是奋发可敬?审视过去几年的这一天,我对自己的承诺是否实现?今天的我是否是历史的我所期望的样子?

当然,书中也给出了一些数量指标,比如每天日记不能超过3分钟,时间太长,会让自己无法持久的坚持;

书中也重点提到了用什么介质来写日记:

1.纸质的日记本;比较麻烦,书中给出了制作出符合写晨间日记的纸质日记本的详细制作方法;

2.笔记本电脑,通过Excel来记录日记;书中也给出了详细的制作Excel日记的方法;这也是作者强烈推崇的一种方法;

3.我目前使用的方法;也是使用笔记本,不过不是用Excel来记,而是通过Wiz这款软件来记,软件中有日记功能,可以直接新建九宫格日记,很是方便;并且有检索功能,可以通过日期检索,从而锁定过去几年的同一天;

本书改变了我对写日记的传统看法和观念;在以往,我认为写日记就是将过去一天发生的事写下来,事后基本上不会重新翻看;在读完之后,我有了全新的认识,和未来的自己对话,你想么?

《晨间日记的奇迹》

本书新版名称《小日记实现大梦想》

卓越亚马逊购买:

小日记实现大梦想

《番茄工作法》让你电脑前的时间更有效

image

推荐:4星

阅读时间:1小时

一直以来,我在探索如何让电脑前的工作时间更为有效?互联网的精彩给了我们太多诱惑,随时弹出的网页、新闻、以及邮件窗口,让我们在不断的转移中,消耗时间。不经意间看到这本书,翻看前言后,我眼睛一亮,这不正是我苦寻多日的方法么?

方法简单有效,有立竿见影之疗效;

番茄工作法,强调在单一时间段内,集中精力,只处理一件事;与普遍的时间管理的方法一样,一旦有任何新的想法或想要做的事情在脑海中出现时,将其记录在旁,等待后续处理,而不是中断当下事件。其创新之处在于通过划分工作时间段,创造了一个个集中精力的高效时间段,这正是我们迫切需要的财富。

其实,这本书的核心就在于提出的这个方法,这里简单介绍一下番茄工作法的内容,说不定就适合你:

1.划分工作时间段,书中称之为番茄钟,一个番茄种为25~40分钟左右,根据自己实际情况而定,但最好不要超过40分钟,一个人的持续集中注意的能力是有限了,在紧张的工作间隙,需要给大脑的休息时间。

2.对工作任务分配番茄钟,预估一项任务可以在几个番茄钟内完成。如果超过5-7个,则将任务拆分成更小的活动,这样,更容易监控和预估。

3.每一个番茄钟内不可中断。我们每天都需要面对大量的内部中断(弹窗或邮件或头脑的想法)以及外部中断(同事咨询),这需要我们妥善处理,书中对这两类中断的处理有详细的介绍。

4.强调休息。对番茄钟分组,一般4个一组。组内番茄钟的间隙休息3-5分钟。组间休息10-30分钟。最好不要超过或小于这个范围。在这个休息期间,不能再思考工作的内容,而是真正的休息,休息完之后开始下一个高效率的番茄钟。

当然,并不是所有的工作任务都适合使用番茄重来量化,比如,读书,就是一件很惬意和享受的事,没有必要再让番茄钟来追着你跑。对我来说,番茄钟最适合量化在电脑前的工作,有时间的约束在我们眼前,让我们不再心有旁骛,从而达到专心高效的工作状态。

亚马逊购买:

番茄工作法图解:简单易行的时间管理方法

 

《白骨精学习法》 21世纪职场必备学习技巧

推荐:4星

阅读时间:3小时

胜间和代是我比较喜欢的一个作者,她写的几本书都通俗易懂,读起来很轻松,从中可以看出写书时作者就站在读者的角度考虑过。当然,这也为她带来了丰厚的回报,有好几本书都是畅销书,本书便是其中之一。

胜间和代提出一种新的生活方式,她的书就是给大家传导,教授这种新的生活理念:提倡时间管理,倡导终生学习。

本书讲的是学习方法,准确的说是在职人士的学习方法和技巧。将自身经验娓娓道来,语言朴实、生动。

全书重点:

1.新世纪生存必备三大利器:英语、IT和会计。之前我们一直熟知的是英语和IT要掌握好,会计倒是比较少的出现在公共场合。作者对会计有一个新的定义:会计是商业活动的语言、是从事金融、经济活动的基础。对于想在商业上有所发展的同学,会计是门必不可少的基本功。

2.强调投资的理念。在学习中需要投资。这里的投资是实实在在的金钱投资,作者给出了一个量化的数字,比较合适的是将每月薪水的5-10%拿来投资到学习上来。投资学习还有个好处,就是能够克服自身的惰性。在学习资料、工具上花费了自己汗水钱,学习也会更加卖力,不大会出现半途而废的现象。具体的投资点有:

a.投资学习工具。作者多次强调笔记本电脑在学习中的重要性,这个是必不可少的。再就是投资像MP3、高保真(隔音效果优秀)的耳机等用来收听有声读物。

b.投资培训班。如果想在有限的时间内尽可能多的吸收知识,速读是必不可少的。而这方面通过自学,收效不很大,通过教师的指点,容易进门。作者首先推荐了报一个速度班,不是那种一目十行的,而是类似超链接的那种索引读书法。再次就是函授班、MBA等,通过在学校中学习,既有一定的强制性,又可拓展人脉,一举多得。

c.投资考证。考证是一个目标,可以检验自己学习的效果,更可以督促自己好好学习,不能辜负了那个报名费。

3.传授学习的技巧。主要从学习的途径和方法上来讲解。这些方法都是作者的亲身体会,读者感觉就像是自己的师兄师姐在教自己如何好好学习,如何赢得考试一样。

总的来说,书中的建议和技巧都中肯实在,推荐阅读。不过,正如作者自己也说,她的每一本书中的信息量都不是很多,全书的信息含量有限,读者可以根据自身情况速读,没必要逐字逐句的精读。

进一步阅读:

培养金融素养:《富爸爸、穷爸爸》

工作创新入门:《谁动了我的奶酪》

值得反复阅读:

《高效人士的七个习惯》

《原因与结果法则》

试读下载:http://www.verycd.com/topics/2763134/

GTD-无压工作的艺术

推荐:3星

阅读时间:6-8小时

本书是时间管理中受众人推崇的一本经典之作。我也是怀着崇拜的心情来拜读的。与《时间投资法》的区别在于,本书强调了清空脑子,不让日常事务纠结思维,让我们在做每一件事都是串行思维,专注其中。同时,教授我们如何管理好应该处理的每一件事,在适当的时候和环境能够通过我们创立的系统(而非我们的大脑)来提醒我们,从而达到高效工作的目标。《时间投资法》强调的是通过合理的时间运用,确定不做的事,从而使时间投资收益最大化,二者的明显差别在于一个是过分强调单位时间的效率,另一种则是强调如何从其它地方节省时间,投入更多的时间到具有最大收益的事上来。哪种更好,因人而异,在实际生活中,我们可以结合的运用。

还有一个差别是本书处理事件的态度是事无巨细,都纳入到管理之中,而《时间投资法》中则推崇审视自己,通过委托他人,通过外包专业服务,通过去除不必要做的事来节省大量的零碎时间开销,从而达到时间节省的目的。

下面谈谈本书的重点。

作者强调一个任务“开始”的重要性。一个良好的开端,成功就达成一半。一个计划,一旦有了开始,后面的就是水到渠成。这也是我们为什么要使用GTD管理的原因之一。只有通过GTD,将3、5年后的目标细化成一个个的事件,并纳入到计划之中,并开始执行。几年后的目标也就自然而然的达成。

任何一个对时间管理的方法,都强调“每周回顾”的重要性,本书也不例外。可以说,如果不进行每周回顾,GTD基本上就是无效的。在实施中,每周回顾也是比较难的一个环境,因为这需要每周都要拿出一部分时间(还不少),来专门回顾上一周的成果,并对下一周及更远做出计划、安排。而对于GTD其它的几个环节,都只需要在工作进行中顺带的完成。

书中对GTD五个步骤的每一步都有单独的章节详细讲解。五个行动为:

收集、加工处理、管理、行动、回顾。

每一章都讲的特别细,可以捡重点的阅读。

比较大的收获是书中给出的一系列需要建立的清单,有兴趣的可以实践:

悬而未决清单、跑腿清单、阅读/回顾清单、清理充沛清单、购物清单、针对某个人的单独清单(领导或亲人)、零碎时间清单、议事日程清单

等等。

最后说说感触:

1。GTD入门读物。由于已经接触过GTD有一定时日,所以回过头来读这本书收获不是那么明显。

2。废话较多。很多问题也就是一、两句话道明的,这里说完了,举一个例子还不够,还要再来一个,有凑字之嫌。

3.翻译较差。有些地方读完一段还在云里雾里,不知所云。

总的来说,这是GTD的一本入门读物,希望这本书能为从来未接触过的GTD的同学带来更多有价值的观念和收获。

有兴趣的可以参考入门GTD时间管理系统必读:

http://www.mifengtd.cn/articles/start-gtd.html

 

下载:http://dl.dbank.com/c00iamc8qh

http://www.box.com/shared/9l1e0chm0n