当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > 将FlashVars写在JS函数中,实现变量更新与后台同步

ActionScript
Flash as入门(4):AS常用语句
Flash as入门(5):学习AS数组
Flash as入门(6):文本与字符串⒒
Flash AS3鼠标事件使用详解
网页中flash的trace方法输出数据
Flash as入门(11):拖动与碰撞检测
AS教程:随机显示数字
Flash AS文本字段的透明度alpha变换
AS教程:对场景和MC添加鼠标监听
AIR设置:transparent和systemChrome
Flash AS3教程:flash.text.TextField
AS教程:理解变量作用域修饰符(modifier)
ActionScript3.0中类间传值问题解决
ActionScript3.0中类的定义以及类属性
Flash AS3教程:类属性的属性
ActionScript3.0教程:变量
ActionScript3.0教程:方法
ActionScript3.0教程:类的枚举
简单认识Flash as面向对象编程
Flash AS2教程:影片剪辑

ActionScript 中的 将FlashVars写在JS函数中,实现变量更新与后台同步


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-01   浏览: 169 ::
收藏到网摘: n/a

定义 JS 函数,例如名为 GetSwfUrl():

<script type="text/javascript">
function GetSwfUrl()
{
var pics1 = parseInt(Math.random() * 5) + 1;
var pics2 = parseInt(Math.random() * 5) + 1;
myFlashId.FlashVars = "pic01Num="+pics1+"&pic02Num="+pics2;
}
</script>

html 中 Flash 段:
<param name="FlashVars" value="">

在 AS 中用 getURL("javascript:GetSwfUrl()") 即可实现与后台的实时数据更新。只是此方法在 FF 下不能兼容,不知道 myFlashId.FlashVars = "pic01Num="+pics1+"&pic02Num="+pics2 这样的写法是不是不合 FF 标准,还请有经验的朋友不吝指教。

***************

然而以下的方法将 FlashVars 参数直接写在 Flash 代码段内却可以实现多浏览器兼容。

JS 部分:
<script type="text/javascript">
var pics1 = parseInt(Math.random() * 5) + 1;
var pics2 = parseInt(Math.random() * 5) + 1;
</script>

Flash 段:
<param name="FlashVars" value="pic01Num='+pics1+'&pic02Num='+pics2+'">
<embed FlashVars="pic01Num='+pics1+'&pic02Num='+pics2+'">

或直接赋值:
<param name="FlashVars" value="pic01Num=3&pic02Num=5">
<embed FlashVars="pic01Num=3&pic02Num=5">

***************

另外,将变量写在 .swf 后面用 ? 连接也可以实现多浏览器兼容。"