本博客文章标题如未标有转载、转等字匀属本人原创或演绎作品,是采用知识共享署名-非商业性使用-相同方式共享 2.5进行许可,承蒙转摘请保留署名及出处,谢谢! 影评|CSDN博客
摘要: 这是一个简单的FLASH组件,用于快速给合照的每个成员添加个人信息,然后把合照生成一个SWF文件在合照成员间分享。它的功能类似bing.com搜索的图片局部提示,也与QQ相册的圈圈评论功能类似。这个组件效果以"2010年11月广州Web标准化交流会(新浪)"提供的JavaScript版合照作为原型。 阅读全文
posted @ 2010-12-07 10:25 问道者 阅读(897) 评论(0) 推荐(0) 编辑
摘要: 在过去,JavaScript只是被用来做一些简单的网页效果,比如表单验证、浮动广告等,所以那时候JavaScript并没有受到重视。自从AJAX开始流行后,人们发现利用JavaScript可以给用户带来更好的体验,甚至利用这一优点开发了大型网页游戏,于是这门小语言被重视了起来。现在,很多公司会招专门的JavaScript工程师,通常JavaScript是WEB前端开发的必备技能。简单介绍了JavaScriptr的好处,并不代表大家就会去学习甚至把它学好,兴趣是很关键的,我认为兴趣是最好的老师,它是你专心做一件事并把它做好的动力。另外,大家要相信小语言有大作为,我就曾用Greasemonkey写过一些非常实用的工具,比如你可以用JavaScript+Greasemonkey写在线网页游戏的外挂程序。下面说说本人学习JavaScript的历程和心得吧。 阅读全文
posted @ 2010-08-14 16:59 问道者 阅读(9611) 评论(4) 推荐(6) 编辑
摘要: 作为一名开发人员(WEB前端JavaScript开发),不规范的开发不仅使日后代码维护变的困难,同时也不利于团队的合作,通常还会带来代码安全以及执行效率上的问题。本人在开发工作中就曾与不按规范来开发的同事合作过,与他合作就不能用“愉快”来形容了。现在本人撰写此文的目的除了与大家分享一点点经验外,更多的是希望对未来的合作伙伴能够起到一定的借鉴作用。当然,如果我说的有不科学的地方还希望各路前辈多多指教。下面分条目列出各种规范要求,这些要求都是针对同事编码毛病提出来的,好些行业约定的其它规范可能不会再提及。 阅读全文
posted @ 2010-06-11 12:00 问道者 阅读(11071) 评论(14) 推荐(11) 编辑
摘要: 近来HTML 5被炒得很热,一来因为它是功能强大、实用的下一代开放式WEB标准技术,引起关注是顺理成章的,二来很多人说HTML 5会成为Flash和Silverlight杀手,这在富应用开发界引起不小骚动。我作为一名普普通通的WEB前端开发工程师,HTML、FLASH也算接触不少,而且非常喜爱FLASH,下面是我阅读了大量专题及论坛帖子总结出几点FLASH不亡的理由,希望增加做FLASH开发网友的信心。另外欢迎大家继续就HTML 5与FLASH相关话题展开讨论。 阅读全文
posted @ 2010-04-24 17:22 问道者 阅读(974) 评论(1) 推荐(0) 编辑
摘要: AMF是Flash与服务器进行通信的一种编码格式(为了方便理解,你可以暂时把它理解为与XML相似的技术),但它是以二进制数据进行传输的,客户端采用POST形式进行数据提交,它的最大特色是可以直接传输复杂的数据类型,比如数组、普通对象、日期对象等,而且可以对传输的数据进行压缩以提高传输速率,另外结合Flash Remoting网关(FluorineFx、amfphp、OpenAMF),通过远程过程调用(RPC)可以在客户端方便调用服务器定义的公开方法并得到返回的数据。所以它的设计是为了提高数据传输速率,提高开发效率的,目前在一些基于Flash开发的大型网页游戏中都能找到它的踪影。本文讲解一个有关AMF插件工具的使用,一方面是为了方便开发测试,另一方面也是希望通过此工具了解基于AMF开发的成功网站的通讯数据。 阅读全文
posted @ 2010-04-22 09:10 问道者 阅读(8144) 评论(0) 推荐(0) 编辑
摘要: 了解JavaScript的人都知道JavaScript的this不总是指向当前对象,函数或类中的this指向与调用这个函数的对象以及上下文环境是息息相关的。如在全局作用域调用一个含this的对象,此时当前对象的this指向的是window。为了让this的指向符合自己的意愿,JavaScript提供了两个方法用以改变this的指向,它们是call和apply,当然也有利用闭包来实现的方法。本文通过一个例子来说明这些问题。 阅读全文
posted @ 2010-02-07 22:32 问道者 阅读(10924) 评论(0) 推荐(0) 编辑
摘要: toString方法的作用是不用多说的了,这个JavaScript内置方法还有一个特性是:在执行一些特殊方法的时候,比如alert或innerHTML等方法,它将由脚本解析器自动调用。这一特性显然有助于你偷懒,当然也有利于实现一些特定的功能。为了说明这一特性,下面从一个实际开发案例说起。 阅读全文
posted @ 2010-02-07 12:39 问道者 阅读(4812) 评论(0) 推荐(0) 编辑
摘要: 不同的程序语言都有多种循环语句,而且功能是差不多的,当然使用场合还是有些区别的,比如for与for in,for in比较好用,它不需要预先知道对象属性的长度。通常在JavaScript中用for与for in遍历数组结果是没有什么区别的,它的循环变量i都是从0开始的数组索引(for in如果遍历的是非数组对象的属性集合,则这个i就是属性名,或称之为key)。另外要注意一点是:用for in遍历数组,循环变量i是字符串类型的。如果对Array进行原型扩展后,再用for in来对数组进行遍历时就要注意些问题了。 阅读全文
posted @ 2010-02-05 00:07 问道者 阅读(1639) 评论(2) 推荐(0) 编辑
摘要: 在一些传统的小型WEB应用开发过程中,JavaScript通常只是拿来做表单验证而以,所以你很少会遇到因为JavaScript事件冒泡而影响功能的实现情况,又或者事件冒泡对最终实现效果影响不大,可忽略。然而,在今天一些大型的WEB交互项目中,比如大型的WebGame项目,JavaScript事件冒泡影响是值得重视的。本文通过一个简单的例子来讲解JavaScript事件冒泡及使用注意事项。 阅读全文
posted @ 2010-01-10 17:00 问道者 阅读(2821) 评论(2) 推荐(1) 编辑
摘要: jQuery的DOM选择器或者说查找技术绝对是行业最强大的,它支持CSS1~CSS3选择器,而且在1.2之前版本还支持XPath选择器。根据jQuery1.2更新日志得知,要想在jQuery1.2之后继续使用XPath,可以使用一个独立的兼容插件。关于这点变动,不经常使用或者不习惯使用XPath的网友可能还没有发现,因为目前网上提供的有关jQuery+XPath开发教程几乎都未提供版本变化影响信息,这很容易让人迷惑,所以我在此作简要说明。另外,根据我测试还发现,那个所谓的XPath兼容插件,似乎在jQuery1.3后不起作用,但在1.2~1.3之间的版本中继续有效。 阅读全文
posted @ 2010-01-07 12:20 问道者 阅读(2612) 评论(0) 推荐(0) 编辑
摘要: 因为在JavaScript中,mousedown、mouseup、click执行顺序是从左到右的,更重要的是一旦mousedown事件激活,正常情况下后面两个事件也肯定会被激活。平时我们在一个标签上只绑定一个click事件,其实触发click事件也都调用了mousedown、mouseup等事件,只是它们调用周期极短,而且我们又没有编写相关函数与这两个事件绑定,所以不会觉察到。现在假设你要在一个标签上同时注册这几个事件,并具绑定指定的处理函数,在实际开发中,你将会遇到我下面提及的问题。 阅读全文
posted @ 2010-01-05 09:07 问道者 阅读(19091) 评论(2) 推荐(5) 编辑
摘要: 如果AJAX加载的数据是一个HTML片段,而且这个HTML片段还包含脚本块,那么在你把这数据xmlHttp.responseText用innerHTML方法插入到当前文档一个元素中,你会发现AJAX加载回来的脚本根本没有执行。这是AJAX开发中很常见的问题,如果你不是一直在用JavaScript框架做开发,相信你早就发现这个问题了。本文分析了两个解决办法,其中一个是讲解jQuery框架的实现。 阅读全文
posted @ 2010-01-04 09:08 问道者 阅读(18515) 评论(0) 推荐(1) 编辑
摘要: 作为一名程序员,一提到“缓存”你很容易联想到“客户端(浏览器缓存)”和“服务器缓存”。客户端缓存是存在浏览者电脑硬盘上的,即浏览器临时文件夹,而服务器缓存是存在服务器内存中,当然在一些高级应用场合也有专门的缓存服务器,甚至有利用数据库进行缓存的实现。当然这些都不在本文的讨论范围,本文要讨论的是最流行的JavaScript框架jQuery的数据缓存实现原理,这是jQuery1.2.3版开始加入的新功能。 阅读全文
posted @ 2010-01-03 14:06 问道者 阅读(10016) 评论(2) 推荐(2) 编辑
摘要: 做WEB前端开发的人都知道不同的浏览器对事件的处理方式是有区别的,比如得到触发事件的元素引用在IE浏览器下是:event.srcElement,在FF浏览器下则是:event.target,另外又比如在FF浏览器下得到光标相对页面的位置是event.pageX,而IE浏览器下的处理方式又是不一样的,当然还有一些像“阻止事件冒泡”以及“取消浏览器默认行为”等,不同浏览器也有不同的处理方式,如果我们要使JavaScript在不同的浏览器下能正常处理事件代码,就要分别进行判断处理。现在jQuery为我们提供了统一兼容处理函数$.event.fix(e),这个函数官方并没有在文档中说明用法,是我在阅读框架代码的时候发现可以这样使用。 阅读全文
posted @ 2009-12-20 16:05 问道者 阅读(3594) 评论(0) 推荐(0) 编辑
摘要: 在做AJAX应用开发的时候,我们通常喜欢把服务器端返回的JSON格式字符串在客户端的回调函数中把它作为JavaScript代码执行并用一个变量保存起来,以方便使用返回的数据。通常的做法就是var jsonData = eval(xmlHttp.responseText)。这看起来似乎一切都是正确的,但当你运行代码的时候,你会发现报“invalid labe”错误了。为什么?我也不清楚,但我找到了解决这个问题的方法。 阅读全文
posted @ 2009-11-15 22:09 问道者 阅读(5898) 评论(6) 推荐(4) 编辑