flashdevelop的快捷键
flashdevelop的快捷键1、将鼠标点到变量上面后,同时按ctrl+shift+1(左键盘),可以自动添加变量或者函数。 2、复制一行代码。CTRL+D; ctrl+shift+k 颜色代码拾取器 ctrl+shift+b 注释年选代码段代码 ctrl+shift+f 代码收起 ctrl+shift+a 代码全部收起 ctrl+shift+e 代码全部展开 ctrl+shift+n 复制代码到一个新文件 ctrl+shift+i 生成了uid F3 查找 = ctrl+f F4 跳转到指定方法或类或变量被定义的地方 shift+f4 跳回到之前所有的地方选中代码段后–右键– Save As Snippet 保存为模板 ctrl+\ 移到下个大写或标点或空格后 ctrl+] 移动下个空行后
——————————————————————————-
1.文件夹搜索是Ctrl+I
2.注释// Ctrl+Q
3. /*…*/ Ctrl+Shift+Q
4. 代码提示 Ctrl+Alt+space
5. 复制一行 Ctrl+D
6. 交换行 Ctrl+T
7. ctrl+shift+1 自动完成代码,这个功能是FD代码提示最有用一个,他可以用来自动生成GET、SET,自动申明变量、方法,自动导入类(还有些以后补)
8. ctrl+b 范例代码 for、if等代码段的模板,只要按下这个键就可生成
9. ctrl+shift+k 颜色代码拾取器
10. ctrl+shift+f 代码收起
11. ctrl+shift+a 代码全部收起
12. ctrl+shift+e 代码全部展开
13. ctrl+shift+n 复制代码到一个新文件
Flash键控大全
[cc lang="actionscript"] package { public class KeyControlCode { public static var KEY_BACKSPACE:uint=8; public static var KEY_TAB:uint=9; public static var KEY_ENTER:uint=13; public static var KEY_SHIFT:uint=16; public static var KEY_CONTROL:uint=17; public static var KEY_PAUSE:uint=19; public static var KEY_CAPSLOCK:uint=20; public static var KEY_ESC:uint=27; public static var KEY_SPACEBAR:uint=32; public static var KEY_PAGEUP:uint=33; public static var KEY_PAGEDOWN:uint=34; public static var [...]
Cache-control缓存控制(转)
网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。 其作用根据不同的重新浏览方式分为以下几种情况: (1) 打开新窗口如果指定cache-control的值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器,例如: Cache-control: max-age=5 表示当访问此网页后的5秒内再次访问不会去服务器。 (2) 在地址栏回车如果值为private或must-revalidate(和网上说的不一样),则只有第一次访问时会访问服务器,以后就不再访问。如果值为no-cache,那么每次都会访问。如果值为max-age,则在过期之前不会重复访问。 (3) 按后退按扭如果值为private、must-revalidate、max-age,则不会重访问,而如果为no-cache,则每次都重复访问。 (4) 按刷新按扭无论为何值,都会重复访问 当指定Cache-control值为“no-cache”时,访问此页面不会在Internet临时文章夹留下页面备份。另外,通过指定“Expires”值也会影响到缓存。例如,指定Expires值为一个早已过去的时间,那么访问此网时若重复在地址栏按回车,那么每次都会重复访问: Expires: Fri, 31 Dec 1999 16:00:00 GMT 在ASP中,可以通过Response对象的Expires、ExpiresAbsolute属性控制Expires值;通过Response对象的CacheControl属性控制Cache-control的值,例如: Response.ExpiresAbsolute = #2000-1-1# ‘ 指定绝对的过期时间,这个时间用的是服务器当地时间,会被自动转换为GMT时间 Response.Expires = 20 ‘ 指定相对的过期时间,以分钟为单位,表示从当前时间起过多少分钟过期。 Response.CacheControl = “no-cache” Expires值是可以通过在Internet临时文件夹中查看临时文件的属性看到的。
IE6+gzip+flash+(no-cache) == nightmare
继上次祈福活动之后,公益活动再次出现在IE6用flash取后台数据,gzip压一下,然后response头里cache control设了no-cache肯定flash里显示不成功,抓包也没问题,返回的数据都是正确的,到了flash里就异常。而且很诡异的是不是所有的IE6都出问题。 解决的办法也很诡异有两种思路: 1.去gzip压缩,nginx里面可以配置对某一特定浏览器版本禁用gzip压缩。 2.设置 Cache-control: max-age=1或更小的值,反正不能用 Cache-control:no-cache,加个response头 Expires: 1970.1.1。 具体原因还要继续研究,可以肯定的是服务器能正常处理,但是在IE6下flash无法接受到服务器返回的信息。
将编译AS3区分Debug版本和Release版本(转)
原文链接:http://www.xiaos8.com/article.asp?id=556 首先我们区分AS3的编译版本,目的是让同样的code,如果使用debug编译,则会含有很多测试代码方便调试;如果使用release编译,则不会将调试代码编译进去。 用过Visual Studio(以下简称VS)的程序员都知道,VS在编译时有个debug和release的选项,而flash builder(以下简称fb)在编译时,虽然可以选择不同路径编译,但无法像VS那样真正的区分编译版本。 下面我依然要说,fb的确没办法像VS那样真正的去区分版本进行编译,但fb可以条件编译! 什么是条件编译 一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件下才进行编译,即对一部分内容指定编译条件,这就是“条件编译”。 接下来看看,我们怎么样使用条件编译来完成区分编译Debug版本和Release版本: 1、首先来看一段代码: [cc lang="actionscript"] package { import flash.display.Sprite; public class TestBuild extends Sprite { CONFIG::debug public function TestBuild() { graphics.beginFill(0xff0000,1); graphics.drawRect(0,0,100,100); } CONFIG::release public function TestBuild() { graphics.beginFill(0x0000ff,1); graphics.drawRect(0,0,100,100); } } } [/cc] 2、TestBuild有两个构造函数,不同的是一个构造函数上有CONFIG::debug,一个有CONFIG::release; 通过理解,如果是debug编译画出来的是红色的正方形,而release编译是蓝色正方形。 3、然后我们使用mxmlc命令行对这段代码进行debug编译 mxmlc src/TestBuild.as -define=CONFIG::debug,true -define=CONFIG::release,false -output bin-release/TestBuild.swf 4、得到一个swf文件,打开一看是红色正方形,的确是debug版本编译 点击播放/隐藏媒体 uploads/201004/19_115454_testbuild.swf 5、然后改一下编译参数,进行release编译 mxmlc [...]
HTTP协议中POST、GET、HEAD的区别是什么(转载)
原文链接:http://wenwenye820526.javaeye.com/blog/350081 HTTP 是Web协议集中的重要协议,它是从客户机/服务器模型发展起来的。客户机/服务器是运行一对相互通信的程序,客户与服务器连接时,首先,向服务器提出请求,服务器根据客户的请求,完成处理并给出响应。浏览器就是与Web服务器产生连接的客户端程序,它的端口为TCP的80端口,。浏览器与Web服务器之间所遵循的协议就是HTTP。 笔者曾在第六期的《用telnet登陆非23端口》一文中写过关于用telnet访问http/1.0,恰逢有朋友问起用netants下载文件时发生的一个关于http/0.9问题,打开IE5.0选择工具、Internet选项、高级,可以发现HTTP /1.1的设置,使用HTTP/1.1。所以,这里想向大家详细介绍关于HTTP协议的发展历程,以便于大家更好的运用HTTP访问Internet。 HTTP的早期版本为HTTP/0.9,它适用于各种数据信息的简洁快速协议,但是其远不能满足日益发展各种应用的需要。但HTTP/0.9作为 HTTP协议具有典型的无状态性:每个事务都是独立进行处理的,当一个事务开始就在客户与服务器之间建立一个连接,当事务结束时就释放这个连接。 HTTP/0.9包含Simple-Request&Simple-Responsed的报文结构。但是客户无法使用内容协商,所以服务器也无法返回实体的媒体类型。 1982年,Tim Berners-Lee提出了HTTP/1.0,在此后的不断丰富和发展中,HTTP/1.0成为最重要的面向事务的应用层协议。该协议对每一次请求/响应,建立并拆除一次连接。其特点是简单、易于管理,所以它符合了大家的需要,得到了广泛的应用。其缺点是仍会发生下列问题:对用户请求响应慢、网络拥塞严重、安全性等。 1997年形成的HTTP/1.1,也就是现在普遍使用的协议,在持续连接操作机制中实现流水方式,即客户端需要对同一服务器发出多个请求时,其实现在多数的网页都是有多部分组成(比如多张图片),可用流水线方式加快速度,流水机制就是指连续发出多个请求并等到这些请求发送完毕,再等待响应。这样就大大节省了单独请求对响应的等待时间,使我们得到更快速的浏览。 另外,HTTP/1.1服务器端处理请求时按照收到的顺序进行,这就保证了传输的正确性。当然,服务器端在发生连接中断时,会自动的重传请求,保证数据的完整性。 HTTP/1.1还提供了身份认证、状态管理和Cache缓存等机制。这里,我想特别提一下关于HTTP/1.1中的Cache缓存机制对HTTP /1.0的不足之处的改进,它严格全面,既可以减少时间延迟、又节省了带宽。HTTP/1.1采用了内容协商机制,选择最合适的用户的内容表现形式。 现在,很多地方都有用到的虚拟主机技术在HTTP/1.1中也可以实现。所谓的虚拟主机技术,就是同一主机地址实际对应多台主机。通俗的讲,当你同时在一个网站申请两个主页时,用协议分析仪可以发现其实这两个主页对应的是同一个IP地址。这样用多台完全相同的机器形成WWW服务器就可以提高处理的吞吐量。 传统的解决方案是改造域名服务器使其可以根据一定的算法将同一域名解释成不同的IP地址。分别对应虚拟主机的每台机器,其缺点是要求每台机器占用完全独立的IP地址,这与IP地址的缺乏是相矛盾的。 HTTP/1.1提供的解决方案在HTTP协议自身中加入了指定不同主机的功能,从而多台主机可以共享一个IP地址,既提高了性能又便于管理。 因为HTTP/1.1是Internet现行的标准协议,这里详细介绍其相关语法。 首先,HTTP/1.1格式可写为: 其中请求方法是请求一定的Web页面的程序或用于特定的URL。可选用下列几种: GET: 请求指定的页面信息,并返回实体主体。 HEAD: 只请求页面的首部。 POST: 请求服务器接受所指定的文档作为对所标识的URI的新的从属实体。 PUT: 从客户端向服务器传送的数据取代指定的文档的内容。 DELETE: 请求服务器删除指定的页面。 OPTIONS: 允许客户端查看服务器的性能。 TRACE: 请求服务器在响应中的实体主体部分返回所得到的内容。 PATCH: 实体中包含一个表,表中说明与该URI所表示的原内容的区别。 MOVE: 请求服务器将指定的页面移至另一个网络地址。 COPY: 请求服务器将指定的页面拷贝至另一个网络地址。 LINK: 请求服务器建立链接关系。 UNLINK: 断开链接关系。 WRAPPED: 允许客户端发送经过封装的请求。 Extension-mothed:在不改动协议的前提下,可增加另外的方法。 比如: GET /index.html HTTP/1.1 Accept: text/plain /*纯ASCII码文本文件*/ Accept: [...]
Flash 的 URLRequestHeader
最近看了一些关于Flash 的 URLRequestHeader的信息,才知道 1.Flash 的 URLRequestHeader的自定义头只能在POST方式下才能发送。 2.Flash 的 URLRequestHeader不准手动发送Referer头域信息。而且在FireFox下Flash使用GET方式读取服务器文件时,不发送引用页地址, IE下能正确发送。 URLRequestHeader 对象封装了一个 HTTP 请求标头并由一个名称/值对组成。 URLRequestHeader 对象在 URLRequest 类的 requestHeaders 属性中使用。 在 Adobe® AIR 中,应用程序安全沙箱中的内容(如使用 AIR 应用程序安装的内容)可以使用任何请求标头而不会出错。不过,对于在 Adobe AIR 中运行的不同安全沙箱中的内容,使用以下请求标头将会引发运行时错误,且限制的术语不区分大小写(例如,Get、get 和 GET 均不得使用): 在应用程序安全沙箱以外的 Flash Player 和 Adobe AIR 内容中,不能使用以下请求标头,且限制的术语不区分大小写(例如,Get、get 和 GET 均不得使用)。另外,如果使用下划线字符,这也适用于带连字符的词(例如,不允许使用 Content-Length 和 Content_Length): Accept-Charset、Accept-Encoding、Accept-Ranges、Age、Allow、Allowed、Authorization、Charge-To、Connect、Connection、Content-Length、Content-Location、Content-Range、Cookie、Date、Delete、ETag、Expect、Get、Head、Host、Keep-Alive、Last-Modified、Location、Max-Forwards、Options、Post、Proxy-Authenticate、Proxy-Authorization、Proxy-Connection、Public、Put、Range、Referer、Request-Range、Retry-After、Server、TE、Trace、Trailer、Transfer-Encoding、Upgrade、URI、User-Agent、Vary、Via、Warning、WWW-Authenticate 和 x-flash-version。 URLRequestHeader 对象的长度是受限制的。如果 URLRequestHeader 对象的累计长度(name 属性的长度加 value 属性的长度)或 [...]
40个小巧的独立JavaScript库
简介 本文介绍了40个小巧的独立JavaScript库,包括表单、动画、数据库、图像处理、字体等,提供详细介绍和截图。 流行的JavaScript库,如jQuery, MooTools, Prototype, Dojo和YUI等,完成起常见的JavaScript任务来得心应手。这些JS库为客户端动作(events)、动画特效(effects),和AJAX应用等提供很多现成的函数。而且如果这些库中的某一个无法直接达到你要的效果,还可能会有相关插件满足你的要求。 JavaScript库的灵活性给我们的工作提供方便,但有利也有弊——比如说JavaScript文件过大的问题。尽管放弃这些著名的JavaScript库能显示你的聪明才智,但你可能还是会愿意采用一些体积小巧、专注于特定任务的JavaScript库。 以下是40个帮助你达到特定目的的独立JavaScript库。 网上能用的当然不只这些,但每位网页设计师和程序员应该都能在这里有所收获。