Flash与Flex3结合学习心得体会(推荐)
SwfObject中文翻译:http://www.awflasher.com/flash/articles/swfobj.htm
源文件:SWFObject 1.5
关于SwfObject的介绍上面两篇文章已经讲的很详细了。我这里只列一段标准的应用和一些上面两篇文章没有提到的问题.
Html中的JS代码
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
// <![CDATA[
var so = new SWFObject("asCallJs.swf", "MyDemo", "500", "400", "9", "#FF6600");
so.addVariable("param1", "Parameter1"); // this line is optional, but this example uses the variable and displays this text inside the flash movie
so.addVariable("param2", "Parameter2");
so.useExpressInstall('expressinstall.swf');
so.write("flashcontent");
// ]]>
</script><!--被AS调用的JS函数-->
<script language="Javascript">
// <![CDATA[
// adds two numbers, and sends the result back to ActionScript
function addNumbers(num1, num2)
{
result=num1 + num2;
alert("3+7=" + result);
return (result);
}
// ]]>
</script> Read the rest of this entry »
彻底摒弃Adobe的激活ActiveX控件的方法
大家知道,在IE中只有激活了ActiveX控件,Flash才能够与浏览者交互,否则得手动点一下激活。Flash也提供了一个很“方便”的解决方案,就是在发布swf文件的同时,发布html文件即可。这样Flash会在生成一个swf文件,一个包含swf的Html文件,和一个“AC_RunActiveContent.js”文件。Html文件通过调用AC_RunActiveContent.js,实现激活ActiveX控件。这一切都很便捷,直到你希望在html和Flash之间传递参数。
问题出现
在很多商业网站中,都涉及到用同一个Flash来显示大量不同的内容(图片,视频或产品信息等),这就需要向这个Flash传递参数。常见的传参方法有三种,但都会受到AC_RunActiveContent.js的不良影响。
1 ExternalInterface: 这是困扰我最久的一个问题。据Adobe的描述,这是最好的传参方法,能都非常自由和直接地在AS和JS之间互相传递参数或者互相调用函数。但我在使用Adobe的示例文件时发现,在IE中AS无法得到JS的返回值(ExternalInterface在IE中的Bug),经过不断的尝试才发现是AC_RunActiveContent.js在捣鬼,只要把它和html中对应代码以及<noscript></noscript>删除就一切正常了。
请看示例:
Player8,AS2: http://www.adamstudio.cn/lab/var/test/test_v8.html
Player9,AS3: http://www.adamstudio.cn/lab/var/test/test_v9.html
如果带有激活ActiveX控件的那段JS代码,IE中就无法得到返回值,请看:
http://www.adamstudio.cn/lab/var/test/test_error.html
所有源文件:http://www.adamstudio.cn/lab/var/test/test.rar
2 FlashVars:
3 URL传递参数
后两种方法受AC_RunActiveContent.js的影响更大,因为这两种方法都是在<noscript></noscript>之间加入代码,而在JS能运行的浏览器当中(绝大多数浏览器都能运行JS),这些代码根本就不会运行。所以无论在Firefox或者IE中都不起任何作用!
也就是说常用的三种在Html与AS之间传递参数的方法均受到激活ActiveX控件的那段代码的影响。所以要想在html和Flash之间传递参数,就必须摒弃Flash自带的激活ActiveX控件的方案!
替代方案:SwfObject 请参考SwfObject解决Html与Flash之间传递参数问题
,Flash与Flex3结合学习心得体会(推荐)- Flash与Flex3结合学习心得体会(推荐)
- › FlashAS3.0实例教程:喷泉动画特效
- › Flash教程:片头加载loading的制作方法
- › 将FlashVars写在JS函数中,实现变量更新与后台同步(推荐)
- › Flash教程:制作卡片翻转动态效果
- › Flash CS3仿真艺术设计教程:封套工具的变形
- › Flash CS3仿真艺术设计教程:封套工具的应用
- › Flash教程:AS制作加载外部.swf影片的视频播放器
- › Flash cs3仿真艺术设计1.15:全新的Flash界面
- › Flash技巧:组合技巧制作吸引人的动画0
- › Flash实例教程:飞机阴影跟随飞机飞翔5
- › Flash AS教程:propertydata问题解决
- › Flash动画制作技巧:动物行走动画制作揭秘
- 在百度中搜索相关文章:Flash与Flex3结合学习心得体会(推荐)
- 在谷歌中搜索相关文章:Flash与Flex3结合学习心得体会(推荐)
- 在soso中搜索相关文章:Flash与Flex3结合学习心得体会(推荐)
- 在搜狗中搜索相关文章:Flash与Flex3结合学习心得体会(推荐)
- tag: Flash教程,flash教程制作,flash动画教程,flash教程下载,平面设计教程 - Flash教程