December 15, 2008 at 8:03 pm
· Filed under flash, html, other
SWFObject 2.0 中文文档 感谢 译者的分享。
在对SWFObject2.0 的几种嵌入方法进行测试之后,发现使用 js动态嵌入的方法,虽然代码精简,但是在需要在与页面js 脚本通讯(As 通过 ExternalInterface 定义页面脚本接口)的 场合不适用,可能是SWFObject 2.0 的bug,所以,如果在不需要定义ExternalInterface 情况下使用 SWFObject2 的动态嵌入方法是做理想的做法,反之如果需要,还是建议大家使用SWFObject2 的静态嵌入方法。 关于flashVars,以前记过个笔记,一并总结下,Google Chrome 浏览器在使用 SWFObject 2.0 的动态嵌入flash时,flashvar 不能很好的工作。IE fireFox没有问题。
Permalink
October 28, 2008 at 10:21 pm
· Filed under as3.0, flash
由于项目需要测试了swfobject2.0的一些功能,发现通过官方方法来添加flashvar的话,在google浏览器里无论如何都是无效的,在firefox环境下却是正常的,实在是纳闷,翻出以前的swfObject1.5测试,也有同样的问题。 最后发现 利用原始的XXX.swf?var=xyz 方式可以有效解决所有的浏览器兼容性问题。
Permalink
July 2, 2008 at 6:33 pm
· Filed under flash, html
SWFObject 2.0,已经在code.google.com上建立了开源文档[http://code.google.com/p/swfobject/]。
SWFObject2.0现提供两个主要调用方法。
1.swfobject.registerObject(flashContentId, flashVersion,expressInstallUrl );
flashContentId为Flash的ID;
flashVersion为播放SWF的Player版本;
expressInstallUrl为Flash Player更新安装的swf调用地址;如果当前版本低于flashVersion将自动更新。
2.swfobject.embedSWF(swfUrl, replaceElementId, swfWidth, swfHeight, flashVersion,expressInstallUrl, flashvars, params, attributes);
swfUrl为调用swf的地址;
replaceElementId为要用于替换成flash的可显示容器的ID;
swfWidth为swf的宽度;
swfHeight为swf的高度;
flashVersion为播放SWF的Player版本;
expressInstallUrl为Flash Player更新安装的swf调用地址;如果当前版本低于flashVersion将自动更新。
flashvars为flashvars传递的变量值;
params为flash player控件的参数设置;如menu=”false” ;
attributes为flash player控件的属性值设置;如class=”flashstyle”;
SWFObject下载包:http://swfobject.googlecode.com/files/swfobject_2_0.zip
SWFObject的html生成器:http://swfobject.googlecode.com/files/swfobject_2_0_generator_1_1_html.zip
SWFObject的官方Blog:http://blog.deconcept.com/swfobject/
Permalink
March 24, 2008 at 9:03 pm
· Filed under as3.0, flash
作者:追箭 | 来源:闪吧
正则表达式是一种通用的标准,大部分计算机语言都支持正则表达式,包括as3,这里转摘出了一些常用的正则表达式语句,大家用到的时候就不用自己写了
^\d+$ //匹配非负整数(正整数 + 0)
^[0-9]*[1-9][0-9]*$ //匹配正整数
^((-\d+)|(0+))$ //匹配非正整数(负整数 + 0)
^-[0-9]*[1-9][0-9]*$ //匹配负整数
^-?\d+$ //匹配整数
^\d+(\.\d+)?$ //匹配非负浮点数(正浮点数 + 0)
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ //匹配正浮点数
^((-\d+(\.\d+)?)|(0+(\.0+)?))$ //匹配非正浮点数(负浮点数 + 0)
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ //匹配负浮点数
^(-?\d+)(\.\d+)?$ //匹配浮点数
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ //匹配email地址
^[a-zA-z]+://匹配(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ //匹配url
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$
下表是元字符及其在正则表达式上下文中的行为的一个完整列表:
\ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个后向引用、或一个八进制转义符。
^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 ’\n’ 或 ’\r’ 之后的位置。
$ 匹配输入字符串的结束位置。如果设置了 RegExp 对象的Multiline 属性,$ 也匹配 ’\n’ 或 ’\r’ 之前的位置。
* 匹配前面的子表达式零次或多次。
+ 匹配前面的子表达式一次或多次。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。
{n} n 是一个非负整数,匹配确定的n 次。
{n,} n 是一个非负整数,至少匹配n 次。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。在逗号和两个数之间不能有空格。
? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。
. 匹配除 “\n” 之外的任何单个字符。要匹配包括 ’\n’ 在内的任何字符,请使用象 ’[.\n]’ 的模式。
(pattern) 匹配pattern 并获取这一匹配。
(?:pattern) 匹配pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。
(?=pattern) 正向预查,在任何匹配 pattern 的字即ζヅ洳檎易址U馐且桓龇腔袢∑ヅ洌簿褪撬担闷ヅ洳恍枰袢」┮院笫褂谩?
(?!pattern) 负向预查,与(?=pattern)作用相反
x|y 匹配 x 或 y。
[xyz] 字符集合。
[^xyz] 负值字符集合。
[a-z] 字符范围,匹配指定范围内的任意字符。
[^a-z] 负值字符范围,匹配任何不在指定范围内的任意字符。
\b 匹配一个单词边界,也就是指单词和空格间的位置。
\B 匹配非单词边界。
\cx 匹配由x指明的控制字符。
\d 匹配一个数字字符。等价于 [0-9]。
\D 匹配一个非数字字符。等价于 [^0-9]。
\f 匹配一个换页符。等价于 \x0c 和 \cL。
\n 匹配一个换行符。等价于 \x0a 和 \cJ。
\r 匹配一个回车符。等价于 \x0d 和 \cM。
\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
\S 匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t 匹配一个制表符。等价于 \x09 和 \cI。
\v 匹配一个垂直制表符。等价于 \x0b 和 \cK。
\w 匹配包括下划线的任何单词字符。等价于’[A-Za-z0-9_]’。
\W 匹配任何非单词字符。等价于 ’[^A-Za-z0-9_]’。
\xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。
\num 匹配 num,其中num是一个正整数。对所获取的匹配的引用。
\n 标识一个八进制转义值或一个后向引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为后向引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。
\nm 标识一个八进制转义值或一个后向引用。如果 \nm 之前至少有is preceded by at least nm 个获取得子表达式,则 nm 为后向引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的后向引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7),则 \nm 将匹配八进制转义值 nm。
Permalink
February 26, 2008 at 7:44 am
· Filed under RIA, as3.0, flash
昨天adobe终于发布了让人期待已久的air正式版。
长久以来adobe的flash播放器一直是作为浏览器的控件形式运行的,寄人篱下的感觉他们应该比谁都清楚。
可以说air 1.0 的正式发布使得adobe战略的冰山一角得以浮出水面,也将是adobe RIA意志的最好载体。
摆脱浏览器,跨平台,多媒体,良好的用户体验等等都会使得我们的互联网应用丰富多彩。。。
我一直都有个疑问,千篇一律的web应用何时会结束?现在想想时候应该不远了。
Permalink
January 19, 2008 at 1:02 am
· Filed under flash
今天配合小马对宝贝detail页面的图片查看器进行改造的时候,遇到个问题,在本地测试的时候flash 对本页Js 的调用很正常,可是提交到测试环境之后,AS和JS之间的调用就无论如何不起效果,一番折腾之后,终于确认原因。必须加上<param name=”allowScriptAccess” value=”always” />。
在页面插入flash时, 可以在 PARAM 或 EMBED 标签中进行设置 allowScriptAccess 的属性来控制对外部脚本的控制,一共有三个参数。
- 当 AllowScriptAccess 为”sameDomain“时,仅当 SWF 文件和网页位于同一域中时才允许执行外出脚本访问。这是 AVM2 内容的默认值(不写的话,就是默认成这个值了)
- 当 AllowScriptAccess 为”never“时,外出脚本访问将始终失败。
- 当 AllowScriptAccess 为”always“时,外出脚本访问将始终成功。
一般情况下,我们的flash文件都不会与页面文件处在同一个域中,往往通过 img.xxx.com,pic.xxx.com等图片服务器路径调用,所以必须把allowScriptAccess设置为always才可以让flash正常调用本页JS.
一个小的知识点,不知道的话有时候还是会惹点小麻烦的。
Permalink
November 15, 2007 at 6:38 pm
· Filed under as3.0, flash
as3里使用FlashVars的方法与之前版本不一样
as2里使用FlahVars的,传递的变量会存储在_root中,可以使用_root.varname直接调用,这在as3中行不通。原因是:
as3用parameters 属性替换了ActionScript 1.0 和 2.0 提供 SWF 文件参数作为主时间轴的技术。
parameters是LoaderInfo对象的一个属性,对于加载的SWF 图像等元素可以通过其Loader对像的contentLoaderInfo 属性访问,由于 SWF 文件的主类的实例没有 Loader 对象,因此loaderInfo 属性是访问SWF 文件主类实例的LoaderInfo 的唯一方法。
我是这么用的,在文档类里定义下
var paramObj:Object = LoaderInfo(root.loaderInfo).parameters;
然后通过paramObj.varname 调用
Permalink