随笔分类 -  AS3 学习笔记

摘要:近来有一需求,播放声音,我在高端浏览器实现了html5 audio标签、低端浏览器实现了flash兼容。但是在调试ie8以下的浏览器发现js死活调不了flash里的addCallback的方法,总报错:Object doesn't support this property or method。在stackoverflow上找的解决方法有:1、延时调用容器方法2、改变创建节点顺序法:先创建一个div,append到dom树,再创建flash节点append到div里折腾了大半天,以上都试过了,都不好使。最后终于找到解决方法:减少暴露的addCallback,当暴露的方法>=3时, 阅读全文
posted @ 2014-01-18 15:14 hotcho 阅读(2119) 评论(0) 推荐(0)
摘要:前段时间测试人员报了一个flash的xss bug,经分析用了Loader.loadBytes且没做数据流格式校验的程序都会中招,自测方法只需一行代码:ExternalInterface.call('alert', ‘msg from flash’); 编译后把后缀名改为jpg或png等图片格式,去新浪微博主站选择第一种图片上传方式…… 虽然用户一般不会上传来历不明的图片,但是本着好奇心还是搞了一下怎么防止。用Flash的FileReference的type判断文件格式很原始,真的只是从文件的后缀名判断的,所以改了后缀很明显会有问题…… 解决方法只能是读取数据流里面真实的格式. 阅读全文
posted @ 2013-07-18 14:59 hotcho 阅读(1374) 评论(0) 推荐(0)
摘要:文转图是比较常见的web应用。特别在微博里,由于限制了字数,所以网上出现了不少把一段文字转为图片的方法,主要有以下几种:实现难度文本格式数据量服务器压力兼容性Flash方法低丰富高小一般HTML5方法低简单高小一般后台方法一般丰富低大好优缺点从上图可见一斑。flash和后台实现的文转图的方案比较常见,而且配合html富文本编辑器还可以实现丰富的文本格式。由于是图片数据是前端生成,所以flash和html5的方法发送的数据量会大点,但是服务器的压力相应会减少。html5 canvas由于只适合高端浏览器,所以不支持canvas的还得降级用flash支持。下面讨论用html5+flash实现常见的 阅读全文
posted @ 2012-12-18 19:38 hotcho 阅读(1927) 评论(0) 推荐(0)
摘要:调试的时候发现fileReference.upload()的请求头的accept会默认为'text/*',这时如果服务器没作处理的话很容易返回406错误。而fileReference的URLRequestHeader又没法改accept,只有靠后端改一下来适应'text/*'这种情况。 其实理论上也有另外一种解决办法,不用改后端,就是改为URLLoader的方式post数据,用UploadPostHelper构造合适服务器的accept,但是这个方法有一个缺点就是不能得到文件的上传进度,不太适用于多文件上传的情况。不过有需要的同学可以试试这个方法,我自己没验证。 阅读全文
posted @ 2012-09-24 18:43 hotcho 阅读(560) 评论(0) 推荐(0)
摘要:做这个东西也有好些天了,终于可以放在线上测试一下了。版本:2011-03-30功能:1、在html的<embed>标签设置用户id和皮肤,然后可以加载该用户的微博主页前20条记录,本地版本可以请求图片和文字内容,线上版本暂时只能请求文字。2、本地版本可以查看图片,放大拖动查看。3、可拖拽或滚动滚轮查看内容。4、支持换皮肤版本:2011-03-31更新:1、线上版本也可以加载图片了。2、不用登陆也可以获取某个uid主人的微博信息。3、完善一点点的UI线上版本预览可以查看我的主页右侧的挂件:http://www.cnblogs.com/cos2004,或者我的QQ空间首页也可以查看:h 阅读全文
posted @ 2011-03-30 17:26 hotcho 阅读(1815) 评论(2) 推荐(0)
摘要:今天的工作遇到了flash读取embed中的flashvars值,特意研究了一下。先看html代码:<object><embed src="test.swf" wmode="transparent" quality="high" width="550" height="400" align="L" scale="noborder" flashvars="width=300&height=500&color=blu 阅读全文
posted @ 2011-03-30 15:10 hotcho 阅读(32994) 评论(0) 推荐(2)
摘要:这两种设计模式有一定的相似之处,都是按需要实例化对象。但是工厂方法的重用性更好、符合OOP的开放——关闭原则。简单工厂小例:简单工厂不容易扩展,如果需要加入新产品则必须对simpleFactory()方法进行修改。工厂方法小例:产品接口IProduct.as产品类1:Product1.as产品类2:Product2.as抽象创建类:Creator.as,由于有了抽象创建类来... 阅读全文
posted @ 2010-11-09 12:38 hotcho 阅读(323) 评论(0) 推荐(0)
摘要:一、内存泄漏指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费(百度搜的资料)。这段话是什么意思呢?打个比方吧,放牛人与一只牛,放牛人好比程序设计中的引用,牛好比对象。我们通过引用来控制对象,放牛人通过绳子牵着牛,当牛吃完草后应该牵它回家而不是放手让它走失。当我们失去对该对象(某块内存)的控制时就产生了&ld... 阅读全文
posted @ 2010-11-07 12:19 hotcho 阅读(5618) 评论(1) 推荐(0)
摘要:注:代码稍稍有所改动,方便调试之前也看过类似的讲述单例模式的文章,不过这篇文章由浅入深,很容易看明白,特地转来分享====================以下文章转自:http://www.riahome.cn/?p=154一.Singleton的定义:确保某个class只有一个实例,而且提供一个全局的访问点二.Singleton类基本上有这三个特征大概的意思就是1 . 有一个 private s... 阅读全文
posted @ 2010-11-04 23:24 hotcho 阅读(362) 评论(0) 推荐(0)
摘要:在Adobe Flash Player 10中,AS3的内部垃圾回收机制是怎样的?程序员可以强制FP回收内存吗?答案是否定的,但有方法。强制垃圾内存回收的代码AS3程序员没有办法强制Flash Player进行垃圾回收。MoonSpirit在天地会撰写过一篇关于强制垃圾回收的文章:[as hack技术]垃圾回收机强制执行。文中例证,使用LocalConnection连接非法地址,并捕获导常,可以强... 阅读全文
posted @ 2010-11-04 21:56 hotcho 阅读(478) 评论(1) 推荐(0)
摘要:之前又转载过通过类路径+类名的方式来生产实例(用getDefinitionByName方法)的文章。今天没事又研究了一下这个函数。先看之前的例子:再看我把Object改为*:看来为了省事可以把类型声明为*类型,这样后续的操作就不会因为类型不对而烦恼了。以上纯属个人意见,有错请指正。==================================================作者:绿色花园出处... 阅读全文
posted @ 2010-11-04 21:32 hotcho 阅读(438) 评论(1) 推荐(0)
摘要:原型继承是早起AS版本所使用的集成方式,在AS3中允许两种方式的集成——类继承和原型继承原型继承的基本原理:每种类都有一个关联的原型对象,而原型对象的属性由该类的所有实例共享。 在创建一个类实例时,它具有对其类的原型对象的引用,这将作为实例及与其关联的类原型对象间的链接。 运行时,如果在类实例中找不到某属性,则会检查委托(该类的原型对象)中是否有该属性。 如果原型对象中不包... 阅读全文
posted @ 2010-11-04 16:40 hotcho 阅读(381) 评论(0) 推荐(0)
摘要:AS3中的Dictionary类(flash.utils.Dictionary)是一个新的AS类。Dictionary类和Object唯一的区别在于:Dictionary对象可以使用非字符串作为键值对的键。例如:var obj:Object = new Object(); obj["name"] = 1; // 键是字符串"name" obj[1] = 2; // 键是1 (被转换成字符串"1")... 阅读全文
posted @ 2010-10-25 17:05 hotcho 阅读(1010) 评论(0) 推荐(0)
摘要:常见的笔试题,所以把它转下来收藏。给你一个代码代表"类"完整路径的字符串,比如"flash.text.TextField",你能用AS3.0在舞台上动态创建一个该类的实例么?(用var txt:TextField = new TextField()作弊的不算) ok,这就是AS3.0中的反射,虽然写法与c#中的完全不同,但是概念是相通的,有了这个我们可以把一些需要动态创建实例的信息,放在xml配置... 阅读全文
posted @ 2010-10-21 09:45 hotcho 阅读(583) 评论(3) 推荐(0)
摘要:一下方法可以获得一组不重复的随机数: 阅读全文
posted @ 2010-10-15 12:45 hotcho 阅读(1381) 评论(0) 推荐(0)